MacBookPro 5,1

Hans Petter Selasky hselasky at c2i.net
Sun Oct 17 08:54:59 UTC 2010


Hi,

After debugging for some time now I've found the issue.

1) I extended all allocations from ACPI to PAGE_SIZE.
2) Then I filled the extra area with zero.
3) Then at free I checked if some buffers were overwritten, and indeed I got 
bingo this time. The printout has the format:

printf("Dirty free <allocation length> <first overwritten byte offset>\n");
kdb_backtrace();

Is this enough information for you to make a patch?

unknown: I/O range not supported 0xffffff00024c1000 0xcf8 0xcff
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
acpi_parse_resources() at acpi_parse_resources+0x287
acpi_probe_child() at acpi_probe_child+0x1b4
AcpiNsWalkNamespace() at AcpiNsWalkNamespace+0x163
AcpiWalkNamespace() at AcpiWalkNamespace+0xbf
acpi_attach() at acpi_attach+0x8fa
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff irq 0,8 on 
acpi0
Timecounter "HPET" frequency 25000000 Hz quality 900
hpet0: [FILTER]
Event timer "HPET" frequency 25000000 Hz quality 450
Event timer "HPET1" frequency 25000000 Hz quality 440
Event timer "HPET2" frequency 25000000 Hz quality 440
Event timer "HPET3" frequency 25000000 Hz quality 440
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_lid0: enable wake failed
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> on acpi0
pci0: <ACPI PCI bus> on pcib0
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link32: Enter debugger
pci_link43: Enter debugger
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link33: Enter debugger
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link34: Enter debugger
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link41: Enter debugger
pci_link42: Enter debugger
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link36: Enter debugger
Dirty free 13 at 13
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
AcpiOsFree() at AcpiOsFree+0x7a
AcpiUtDeleteInternalObj() at AcpiUtDeleteInternalObj+0x77
AcpiUtUpdateRefCount() at AcpiUtUpdateRefCount+0xb4
AcpiUtUpdateObjectReference() at AcpiUtUpdateObjectReference+0x45
AcpiRsSetSrsMethodData() at AcpiRsSetSrsMethodData+0xf2
AcpiSetCurrentResources() at AcpiSetCurrentResources+0x49
acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x204
acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt+0x1a9
acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
pci_assign_interrupt() at pci_assign_interrupt+0x1c3
pci_add_resources() at pci_add_resources+0x14a
pci_add_children() at pci_add_children+0x10e
acpi_pci_attach() at acpi_pci_attach+0xcd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_pcib_attach() at acpi_pcib_attach+0x1a7
acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1fd
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
acpi_attach() at acpi_attach+0xa28
device_attach() at device_attach+0x69
bus_generic_attach() at bus_generic_attach+0x1a
nexus_acpi_attach() at nexus_acpi_attach+0x69
device_attach() at device_attach+0x69
bus_generic_new_pass() at bus_generic_new_pass+0xd6
bus_set_pass() at bus_set_pass+0x7a
configure() at configure+0xa
mi_startup() at mi_startup+0x59
btext() at btext+0x2c
pci_link35: Enter debugger
pci_link39: Enter debugger


--HPS


More information about the freebsd-acpi mailing list