linux-stable/drivers/acpi
Dan Williams 0e7f074145 acpi, nfit: validate commands against the device type
Fix occasions in acpi_nfit_ctl where we check the command type without
validating whether we are parsing dimm vs bus level commands. Where the
command numbers alias between dimms and bus we can make the wrong
assumption just checking the raw command number. For example, with a
simple nfit_test mock up of the clear-error command we trigger the
following:

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000094
    IP: acpi_nfit_ctl+0x29b/0x930 [nfit]
    [..]
    Call Trace:
     nfit_test_probe+0xb85/0xc09 [nfit_test]
     platform_drv_probe+0x3b/0xa0
     ? platform_drv_probe+0x3b/0xa0
     driver_probe_device+0x29c/0x450
     ? test_alloc+0x180/0x180 [nfit_test]
     __driver_attach+0xe3/0xf0
     ? driver_probe_device+0x450/0x450
     bus_for_each_dev+0x73/0xc0
     driver_attach+0x1e/0x20
     bus_add_driver+0x173/0x270
     driver_register+0x60/0xe0
     __platform_driver_register+0x36/0x40
     nfit_test_init+0x2a1/0x1000 [nfit_test]

Fixes: 4b27db7e26 ("acpi, nfit: add support for the _LSI, _LSR, and...")
Reported-by: Vishal Verma <vishal.l.verma@intel.com>
Tested-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2017-11-12 15:18:57 -08:00
..
acpica Merge branches 'acpi-scan' and 'acpi-pm' 2017-09-03 23:53:19 +02:00
apei ACPI / APEI: Suppress message if HEST not present 2017-08-30 03:11:21 +02:00
arm64 ACPI updates for v4.14-rc1 2017-09-05 12:45:03 -07:00
dptf ACPI / DPTF: constify attribute_group structures 2017-07-04 22:15:28 +02:00
nfit acpi, nfit: validate commands against the device type 2017-11-12 15:18:57 -08:00
pmic ACPI / PMIC: xpower: Do pinswitch magic when reading GPADC 2017-07-24 22:43:17 +02:00
x86 ACPI / property: Support Apple _DSM properties 2017-08-03 23:26:22 +02:00
ac.c
acpi_amba.c
acpi_apd.c ACPI: APD: Fix HID for Hisilicon Hip07/08 2017-07-30 14:33:48 +02:00
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: Unload SSDT on configfs entry removal 2017-06-22 02:43:12 +02:00
acpi_dbg.c ACPI: fix whitespace in pr_fmt() to align log entries 2017-06-22 02:18:20 +02:00
acpi_extlog.c ACPI: Switch to use generic guid_t in acpi_evaluate_dsm() 2017-06-07 12:20:49 +02:00
acpi_ipmi.c
acpi_lpat.c ACPI / lpat: Fix typos in comments and kerneldoc style 2017-07-24 22:52:00 +02:00
acpi_lpss.c ACPI / LPSS: Don't abort ACPI scan on missing mem resource 2017-08-10 01:41:41 +02:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c ACPI / processor: make function acpi_processor_check_duplicates() static 2017-08-24 03:25:47 +02:00
acpi_video.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
acpi_watchdog.c ACPI / watchdog: properly initialize resources 2017-09-19 01:49:02 +02:00
battery.c ACPI: make device_attribute const 2017-08-24 03:38:25 +02:00
battery.h
bgrt.c ACPI: BGRT: constify attribute_group structures 2017-07-04 22:15:20 +02:00
blacklist.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
bus.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
button.c ACPI updates for v4.13-rc1 2017-07-04 14:16:49 -07:00
cm_sbs.c
container.c
cppc_acpi.c scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
custom_method.c
debugfs.c
device_pm.c ACPI / PM: Add debug statements to acpi_pm_notify_handler() 2017-08-18 01:53:32 +02:00
device_sysfs.c
dock.c ACPI / dock: constify attribute_group structure 2017-08-03 23:28:24 +02:00
ec.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
ec_sys.c
event.c
evged.c
fan.c
glue.c IOMMU Updates for Linux v4.12 2017-05-09 15:15:47 -07:00
hed.c
internal.h Merge branches 'acpi-x86', 'acpi-soc', 'acpi-pmic' and 'acpi-apple' 2017-09-03 23:54:03 +02:00
ioapic.c ACPI: fix whitespace in pr_fmt() to align log entries 2017-06-22 02:18:20 +02:00
irq.c ACPI / irq: Fix return code of acpi_gsi_to_irq() 2017-07-12 13:11:49 +02:00
Kconfig - New Drivers 2017-05-03 12:16:25 -07:00
Makefile ACPI / property: Support Apple _DSM properties 2017-08-03 23:26:22 +02:00
numa.c ACPI: NUMA: Fix typo in the full name of SRAT 2017-07-24 22:27:44 +02:00
nvs.c
osi.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
osl.c
pci_irq.c
pci_link.c
pci_mcfg.c PCI/ACPI: Add ThunderX pass2.x 2nd node MCFG quirk 2017-04-24 11:58:56 -05:00
pci_root.c treewide: Consolidate Apple DMI checks 2017-08-03 23:26:22 +02:00
pci_slot.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
power.c ACPI / power: constify attribute_group structures 2017-07-04 22:15:14 +02:00
proc.c ACPI / PM: Drop run_wake from struct acpi_device_wakeup_flags 2017-06-28 01:52:15 +02:00
processor_core.c
processor_driver.c ACPI: processor: use dev_dbg() instead of dev_warn() when CPPC probe failed 2017-07-27 01:51:06 +02:00
processor_idle.c Power management updates for v4.14-rc1 2017-09-05 12:19:08 -07:00
processor_pdc.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
processor_perflib.c
processor_thermal.c
processor_throttling.c acpi/processor: Prevent cpu hotplug deadlock 2017-05-26 10:10:47 +02:00
property.c Merge branches 'acpi-pmic', 'acpi-bus', 'acpi-wdat' and 'acpi-properties' 2017-09-22 23:38:45 +02:00
reboot.c
resource.c ACPI: Introduce DMA ranges parsing 2017-08-07 14:28:51 +02:00
sbs.c Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc' 2017-09-03 23:54:29 +02:00
sbshc.c
sbshc.h
scan.c Device properties framework updates for v4.14-rc1 2017-09-05 12:50:00 -07:00
sleep.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
sleep.h ACPI / power: Delay turning off unused power resources after suspend 2017-05-01 23:11:21 +02:00
spcr.c Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc' 2017-09-03 23:54:29 +02:00
sysfs.c Merge branches 'acpi-sysfs', 'acpi-apei' and 'acpi-blacklist' 2017-09-03 23:55:34 +02:00
tables.c ACPICA: Tables: Change table duplication check to be related to acpi_gbl_verify_table_checksum 2017-07-20 16:38:25 +02:00
thermal.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
utils.c ACPI / blacklist: add acpi_match_platform_list() 2017-08-29 01:42:48 +02:00
video_detect.c ACPI / video: Add force_none quirk for Dell OptiPlex 9020M 2017-07-16 02:27:23 +02:00
wakeup.c