diff options
author | Li RongQing <[email protected]> | 2015-12-17 21:30:02 +0800 |
---|---|---|
committer | Wim Van Sebroeck <[email protected]> | 2015-12-27 21:02:21 +0100 |
commit | 5889f06bd31d542766046faa6b17d957c08e1484 (patch) | |
tree | 37e0bec23c48aa457d3ea7d23dceb0effb626c13 /tools/perf/scripts/python/stackcollapse.py | |
parent | 8d2fa17151ea33a98b5f70839fd2ffa3bce51de5 (diff) |
watchdog: refuse to unload softdog module when its timer is running
the softdog has static variables which are accessed if its timer is
still running after the driver is unloaded. and lead to crash:
$modprobe softdog
$echo 1 >/dev/watchdog
$modprobe -r softdog
CPU 20 Unable to handle kernel paging request at virtual address
Oops[#1]:
CPU: 20 PID: 0 Comm: swapper/20 Not tainted 4.1.13-WR8.0.0.0_standard
...
Modules linked in: [last unloaded: softdog]
....
Call Trace:
[<ffffffff801e142c>] cascade+0x34/0xb0
[<ffffffff801e1964>] run_timer_softirq+0x30c/0x368
[<ffffffff80181044>] __do_softirq+0x1ec/0x418
[<ffffffff801815d0>] irq_exit+0x90/0x98
[<ffffffff8010749c>] plat_irq_dispatch+0xa4/0x140
[<ffffffff80152740>] ret_from_irq+0x0/0x4
[<ffffffff801529e0>] __r4k_wait+0x20/0x40
[<ffffffff801c2278>] cpu_startup_entry+0x2a0/0x368
[<ffffffff8015fa64>] start_secondary+0x444/0x4d8
add the module ref when timer is running to avoid to unload the softdog
module
Signed-off-by: Li RongQing <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Wim Van Sebroeck <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions