Date: Fri, 3 Jun 2005 20:12:12 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/acpica acpi.c Message-ID: <200506032012.j53KCC5k077879@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
imp 2005-06-03 20:12:12 UTC FreeBSD src repository Modified files: sys/dev/acpica acpi.c Log: In newbus land, ivars can only be accessed for direct child, or when the driver has unholy private knowledge of its great-*cgrandchildren. The ACPI allocation routine lacked such knowledge when it tried to do a default allocation for all descendants, rather than just its immeidate children, so would access grandchild's ivar in an unsafe way. This could lead to a panic when devices were present which had no addresses setup by the BIOS, but which were later allocated in a lazy manner via pci_alloc_map. As such, only do the default allocation adjustments for immediate children. The manner that acpi_sysres_find accesses the resource list, used later in acpi_alloc_resource, is safe and proper so no additional test is needed there. This fixes a panic when probing an disabled ata controller on some newer intel blades. Reported by: dwhite Revision Changes Path 1.214 +1 -1 src/sys/dev/acpica/acpi.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200506032012.j53KCC5k077879>