https://bugzilla.kernel.org/show_bug.cgi?id=201381

            Bug ID: 201381
           Summary: Unloading acpi table through configfs causes NULL
                    pointer dereference bug
           Product: ACPI
           Version: 2.5
    Kernel Version: 4.18
          Hardware: Intel
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Config-Tables
          Assignee: acpi_config-tab...@kernel-bugs.osdl.org
          Reporter: ft...@telfort.nl
        Regression: No

Since 4.13 we have patch 'ACPI: configfs: Unload SSDT on configfs entry
removal' in the kernel.

However when I try to actually unload a table I get a bug check. I have tested
this on Intel Edison Arduino with 4.18 x86_64 using 2 different tables, 1
called arduino, providing I2C/SPI/HSU and a 2nd one called leds, providing a
simple LED connected to a gpio. Result is similar.

FYI Intel Edison has no BIOS and receives ACPI tables in part from U-Boot and
in my case Arduino support through configfs. Loading tables in this fashion
appears to work just as fine as though a cpio, with the potential bonus of
being able to unload them.

ARDUINO
-------
rmdir /sys/kernel/config/acpi/table/arduino/
ACPI: Host-directed Dynamic ACPI Table Unload
BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
PGD 0 P4D 0 
Oops: 0000 [#1] SMP PTI
CPU: 1 PID: 7181 Comm: kworker/u4:0 Not tainted 4.18.0-edison-acpi-standard #1
Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542
2015.01.21:18.19.48
Workqueue: kacpi_hotplug acpi_device_del_work_fn
RIP: 0010:create_of_modalias.isra.1+0x4d/0x150
Code: 44 24 10 00 00 00 00 48 c7 44 24 08 ff ff ff ff 65 48 8b 04 25 28 00 00
00 48 89 44 24 18 31 c0 e8 4a a2 03 00 48 8b 4c 24 10 <0f> b6 01 84 c0 74 27 48
c7 c7 40 13 f4 a2 0f b6 f0 8d 50 20 f6 04 
RSP: 0018:ffff9c51c0c6bc10 EFLAGS: 00010246
RAX: 0000000000001001 RBX: ffff8fa4bb3d4196 RCX: 0000000000000000
RDX: 0000000000001001 RSI: 0000000000000286 RDI: ffff8fa4bd804260
RBP: ffff8fa48ca08210 R08: 0000000000001001 R09: 0000000000000000
R10: ffff8fa48ca08000 R11: ffffffffa305fe3d R12: 0000000000000785
R13: 0000000000000000 R14: ffff8fa4bc698010 R15: ffff8fa4bdad1060
FS:  0000000000000000(0000) GS:ffff8fa4bf300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000000c8de000 CR4: 00000000001006e0
Call Trace:
 ? vsnprintf+0x2b6/0x4b0
 __acpi_device_uevent_modalias+0xde/0x100
 spi_uevent+0xd/0x40
 dev_uevent+0x96/0x2c0
 kobject_uevent_env+0x2e7/0x7f0
 device_release_driver_internal+0x227/0x240
 bus_remove_device+0xe0/0x150
 device_del+0x133/0x350
 ? klist_iter_exit+0x17/0x30
 device_unregister+0x11/0x60
 acpi_spi_notify+0x89/0xa0
 notifier_call_chain+0x42/0x60
 blocking_notifier_call_chain+0x39/0x60
 acpi_device_del_work_fn+0x62/0xb0
 process_one_work+0x1e3/0x3c0
 worker_thread+0x28/0x3c0
 ? set_worker_desc+0xb0/0xb0
 kthread+0x10e/0x130
 ? kthread_create_worker_on_cpu+0x70/0x70
 ret_from_fork+0x35/0x40
Modules linked in: iptable_nat nf_nat_ipv4 nf_nat spi_pxa2xx_platform smsc95xx
pwm_lpss_pci pwm_lpss brcmfmac brcmutil spi_pxa2xx_pci hci_uart btbcm
ti_ads7950 industrialio_triggered_buffer kfifo_buf spidev mmc_block sdhci_pci
cqhci sdhci led_class mmc_core
CR2: 0000000000000000
---[ end trace 77bdc8463ac6088b ]---

LEDS
----
root@edison:~# rmdir /sys/kernel/config/acpi/table/leds/
ACPI: Host-directed Dynamic ACPI Table Unload
BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
PGD 0 P4D 0 
Oops: 0000 [#1] SMP PTI
CPU: 1 PID: 4316 Comm: kworker/u4:2 Not tainted 4.18.0-edison-acpi-standard #1
Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542
2015.01.21:18.19.48
Workqueue: kacpi_hotplug acpi_device_del_work_fn
RIP: 0010:create_of_modalias.isra.1+0x4d/0x150
Code: 44 24 10 00 00 00 00 48 c7 44 24 08 ff ff ff ff 65 48 8b 04 25 28 00 00
00 48 89 44 24 18 31 c0 e8 4a a2 03 00 48 8b 4c 24 10 <0f> b6 01 84 c0 74 27 48
c7 c7 40 13 74 bd 0f b6 f0 8d 50 20 f6 04 
RSP: 0018:ffffaf4800257cf8 EFLAGS: 00010246
RAX: 0000000000001001 RBX: ffff8c403a877176 RCX: 0000000000000000
RDX: 0000000000001001 RSI: 0000000000000296 RDI: ffff8c403d804260
RBP: ffff8c403ae98a10 R08: 0000000000001001 R09: 0000000000000000
R10: ffff8c403ae98800 R11: ffffffffbd85ff0d R12: 00000000000007a5
R13: 0000000000000000 R14: ffff8c403ae98a60 R15: ffff8c403dad1060
FS:  0000000000000000(0000) GS:ffff8c403f300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000003b89c000 CR4: 00000000001006e0
Call Trace:
 __acpi_device_uevent_modalias+0xde/0x100
 dev_uevent+0x96/0x2c0
 kobject_uevent_env+0x2e7/0x7f0
 ? __pm_runtime_disable+0x13/0xc0
 device_del+0x235/0x350
 acpi_device_del_work_fn+0x6a/0xb0
 process_one_work+0x1e3/0x3c0
 worker_thread+0x28/0x3c0
 ? set_worker_desc+0xb0/0xb0
 kthread+0x10e/0x130
 ? kthread_create_worker_on_cpu+0x70/0x70
 ret_from_fork+0x35/0x40
Modules linked in: i2c_dev ledtrig_netdev ledtrig_oneshot ledtrig_timer
leds_gpio ledtrig_heartbeat iptable_nat nf_nat_ipv4 nf_nat spi_pxa2xx_platform
smsc95xx pwm_lpss_pci pwm_lpss brcmfmac brcmutil spi_pxa2xx_pci hci_uart btbcm
ti_ads795>
CR2: 0000000000000000
---[ end trace 09430e0923010718 ]---

I don't know if the Component I selected above is correct or if it should be
Config-Hotplug.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to