[dm-devel] [PATCH] fix rmmod oops
Mike Christie
mikenc at us.ibm.com
Wed Nov 26 08:41:01 UTC 2003
I am running 2.6.0-test9-udm5. When I do a rmmod of dm-mirror and dm-mod
I get the following oops:
Nov 24 02:35:14 minna kernel: device-mapper: 4.0.0-ioctl (2003-06-04)
initialised: dm at uk.sistina.com
Nov 24 02:35:59 minna kernel: device-mapper: cleaned up
Nov 24 02:35:59 minna kernel: Unable to handle kernel paging request at
virtual address d09bdca6
Nov 24 02:35:59 minna kernel: printing eip:
Nov 24 02:35:59 minna kernel: d09bdca6
Nov 24 02:35:59 minna kernel: *pde = 013e0067
Nov 24 02:35:59 minna kernel: *pte = 00000000
Nov 24 02:35:59 minna kernel: Oops: 0000 [#1]
Nov 24 02:35:59 minna kernel: CPU: 0
Nov 24 02:35:59 minna kernel: EIP: 0060:[<d09bdca6>] Not tainted
Nov 24 02:35:59 minna kernel: EFLAGS: 00010246
Nov 24 02:35:59 minna kernel: EIP is at 0xd09bdca6
Nov 24 02:35:59 minna kernel: eax: 00000000 ebx: c72fa000 ecx:
d09c2810 edx: d09c2834
Nov 24 02:35:59 minna kernel: esi: d09c27e0 edi: ffffe000 ebp:
c72fbfc0 esp: c72fbf98
Nov 24 02:35:59 minna kernel: ds: 007b es: 007b ss: 0068
Nov 24 02:35:59 minna kernel: Process kcopyd (pid: 1675,
threadinfo=c72fa000 task=c80e3330)
Nov 24 02:35:59 minna kernel: Stack: d09be011 00000077 00000000 c80e3330
c0121070 00000000 00000000 00000001
Nov 24 02:35:59 minna kernel: c7bcfeec c0109a42 00000000 c80e3330
c0121070 00100100 00200200 00000000
Nov 24 02:35:59 minna kernel: 00000000 00000000 d09bd9d0 00000000
00000000 00000000 c0107349 d09c27e0
Nov 24 02:35:59 minna kernel: Call Trace:
Nov 24 02:35:59 minna kernel: [<c0121070>] default_wake_function+0x0/0x30
Nov 24 02:35:59 minna kernel: [<c0109a42>] ret_from_fork+0x6/0x14
Nov 24 02:35:59 minna kernel: [<c0121070>] default_wake_function+0x0/0x30
Nov 24 02:35:59 minna kernel: [<c0107349>] kernel_thread_helper+0x5/0xc
Nov 24 02:35:59 minna kernel:
Nov 24 02:35:59 minna kernel: Code: Bad EIP value.
The attached patch (rmmod_daemon.patch) fixes this by replacing the
semaphores with completions, and uses complete_and_exit() to make
sure the daemon thread is completely broken down before exiting the
module (complete() passes 1 for the sync variable to __wake_up_common()
where up() passes zero).
The patch was built and tested against 2.6.0-test9-udm5.
Mike Christie
mikenc at us.ibm.com
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rmmod_daemon.patch
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20031126/dc37a029/attachment.ksh>
More information about the dm-devel
mailing list