linux/drivers/acpi
Robert Moore 53951bd57d acpica: validate package element more carefully in acpi_rs_get_pci_routing_table_length
acpi_rs_get_pci_routing_table_length is not performing sufficient
validation on the package returned from _PRT.  It assumes a package of
packages and fails/faults if this is not the case.

We should validate each subpackage when extracted from the parent
package, and not accept objects of the wrong type, since that will just
cause the scanning to fail (likely with a kernel oops).

This can only happen with a serious BIOS bug, and is accompanied by a
warning something like this:

  ACPI Warning (nspredef-0949): \_SB_.PCI0.PEG4._PRT: Return Package type mismatch at index 0 - found Integer, expected Package [20090320]

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-05-02 11:48:37 -07:00
..
acpica acpica: validate package element more carefully in acpi_rs_get_pci_routing_table_length 2009-05-02 11:48:37 -07:00
ac.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
acpi_memhotplug.c
battery.c Revert "ACPI battery: fix async boot oops" 2009-04-11 12:45:20 -07:00
blacklist.c
bus.c Merge branch 'bjorn-initcall-cleanup' into release 2009-04-05 01:38:31 -04:00
button.c ACPI: button: remove control method/fixed hardware distinctions 2009-04-11 00:36:41 -04:00
cm_sbs.c
container.c
debug.c Merge branch 'acpi-modparam' into release 2009-04-05 01:45:50 -04:00
dock.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
ec.c ACPI: EC: Fix ACPI EC resume non-query interrupt message 2009-04-23 23:56:57 -04:00
event.c
fan.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
glue.c ACPI: call init_acpi_device_notify() explicitly rather than as initcall 2009-03-27 12:51:16 -04:00
internal.h ACPI: call acpi_wakeup_device_init() explicitly rather than as initcall 2009-03-27 12:51:31 -04:00
Kconfig ACPI: update Kconfig help texts (no functional changes) 2009-03-17 02:06:04 -04:00
Makefile Merge branch 'async-battery' into release 2009-04-05 01:48:46 -04:00
numa.c x86, ACPI: add support for x2apic ACPI extensions 2009-04-03 20:08:12 -04:00
osl.c ACPI: add /sys/firmware/acpi/interrupts/sci_not counter 2009-04-21 00:35:47 -04:00
pci_bind.c
pci_irq.c Merge branch 'misc' into release 2009-04-05 01:52:07 -04:00
pci_link.c ACPI: pci_link: simplify list of link devices 2009-03-17 01:53:29 -04:00
pci_root.c PCI/ACPI: rename pci_osc_control_set() 2009-03-19 19:29:33 -07:00
pci_slot.c PCI: pci_slot: grab refcount on slot's bus 2009-04-06 11:31:14 -07:00
power.c Merge branch 'acpi-modparam' into release 2009-04-05 01:45:50 -04:00
proc.c ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
processor_core.c ACPI: processor: use .notify method instead of installing handler directly 2009-04-05 02:25:07 -04:00
processor_idle.c Merge branch 'bugzilla-13142' into release 2009-04-24 10:42:03 -04:00
processor_perflib.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
processor_thermal.c Merge branch 'constify' into release 2009-04-05 01:51:16 -04:00
processor_throttling.c Merge branch 'misc' into release 2009-04-05 01:52:07 -04:00
reboot.c
sbs.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
sbshc.c
sbshc.h
scan.c ACPI: delete acpi_device.g_list 2009-04-07 02:02:15 -04:00
sleep.c Merge branch 'bugzilla-13041' into release 2009-04-24 01:35:24 -04:00
sleep.h ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00
system.c ACPI: add /sys/firmware/acpi/interrupts/sci_not counter 2009-04-21 00:35:47 -04:00
tables.c Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
thermal.c thermal: Fix polling frequency for systems without passive cooling 2009-04-18 01:05:23 -04:00
utils.c
video_detect.c ACPI video: add a warning message if _BQC is not found 2009-03-27 22:37:22 -04:00
video.c Merge branch 'drm-intel-next' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel 2009-04-28 17:21:20 -07:00
wakeup.c ACPI: convert acpi_device_lock spinlock to mutex 2009-04-07 00:02:40 -04:00