2.4 kernel threads

From: linux
Date: Thu May 19 2005 - 05:27:22 EST


While attempting to unload the kernel module which has created a kernel
thread whoch runs perfectly i get this oops:
Unable to handle kernel paging request at virtual address d08f364c
printing eip:
c011d6ff
*pde = 01af0067
*pte = 00000000
Oops: 0002
parport_pc lp parport autofs pcnet_cs 8390 crc32 ds yenta_socket pcmcia_core
floppy microcode ext3 jbd
CPU: 0
EIP: 0060:[<c011d6ff>] Not tainted
EFLAGS: 00010092

EIP is at interruptible_sleep_on_timeout [kernel] 0x4f (2.4.21-4.EL)
eax: d08f3648 ebx: 00000286 ecx: 00000286 edx: d08f3648
esi: 000001c3 edi: 00000000 ebp: cc445fdc esp: cc445fb4
ds: 0068 es: 0068 ss: 0068
Process enigma (pid: 1622, stackpage=cc445000)
Stack: 00000000 cc444000 d08f3648 d08f3648 00000000 00000003 00000656
00000656
d08f3060 00000000 cc445fec d08f310d 00000004 cc444000 00000000
c010945d
d08f363c 00000000 00000000
Call Trace: [<c010945d>] kernel_thread_helper [kernel] 0x5 (0xcc445ff0)

Code: 89 50 04 89 02 c7 45 e4 00 00 00 00 c7 45 e0 00 00 00 00 53

Kernel panic: Fatal exception



The module is being unloaded with the following procedure:
lock_kernel();
flag=1; /* This flag does a break in the for(;;) loop of the thread after
the interruptible_sleep_on_timeout , after the break current=NULL;*/
mb();
kill_proc(pid_thread,SIGKILL,1);
unlock_kernel();
kill_proc(2,SIGCHLD,1); /* assuming that keventd is running with PID 2 */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/