diff options
author | Denis V. Lunev <den@openvz.org> | 2008-05-21 02:12:44 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-21 02:12:44 +0400 |
commit | d3ede327e83f202c3a0962e207318f65717c5eb7 (patch) | |
tree | 2875979c06b127edc325bf77518837c28477ebd5 /include/asm-sparc64/watchdog.h | |
parent | 5fb13570543f4ae022996c9d7c0c099c8abf22dd (diff) | |
download | linux-d3ede327e83f202c3a0962e207318f65717c5eb7.tar.xz |
pktgen: make sure that pktgen_thread_worker has been executed
The following courruption can happen during pktgen stop:
list_del corruption. prev->next should be ffff81007e8a5e70, but was 6b6b6b6b6b6b6b6b
kernel BUG at lib/list_debug.c:67!
:pktgen:pktgen_thread_worker+0x374/0x10b0
? autoremove_wake_function+0x0/0x40
? _spin_unlock_irqrestore+0x42/0x80
? :pktgen:pktgen_thread_worker+0x0/0x10b0
kthread+0x4d/0x80
child_rip+0xa/0x12
? restore_args+0x0/0x30
? kthread+0x0/0x80
? child_rip+0x0/0x12
RIP list_del+0x48/0x70
The problem is that pktgen_thread_worker can not be executed if kthread_stop
has been called too early. Insert a completion on the normal initialization
path to make sure that pktgen_thread_worker will gain the control for sure.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Alexey Dobriyan <adobriyan@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64/watchdog.h')
0 files changed, 0 insertions, 0 deletions