[LinuxPPS] 8 Oct 06:44 - [ROSE]: Fix rose.ko oops on unload

linuxpps: Alexey Dobriyan <> webmaster at enneenne.com
Fri Oct 19 19:30:07 CEST 2007


[ROSE]: Fix rose.ko oops on unload  
  
Commit a3d384029aa304f8f3f5355d35f0ae274454f7cd aka  
"[AX.25]: Fix unchecked rose_add_loopback_neigh uses"  
transformed rose_loopback_neigh var into statically allocated one.  
However, on unload it will be kfree's which can't work.  
  
Steps to reproduce:  
  
modprobe rose  
rmmod rose  
  
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000008  
printing eip:  
c014c664  
*pde = 00000000  
Oops: 0000 [#1]  
PREEMPT DEBUG_PAGEALLOC  
Modules linked in: rose ax25 fan ufs loop usbhid rtc snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd thermal usbcore button processor evdev sr_mod cdrom  
CPU: 0  
EIP: 0060:[] Not tainted VLI  
EFLAGS: 00210086 (2.6.23-rc9 #3)  
EIP is at kfree+0x48/0xa1  
eax: 00000556 ebx: c1734aa0 ecx: f6a5e000 edx: f7082000  
esi: 00000000 edi: f9a55d20 ebp: 00200287 esp: f6a5ef28  
ds: 007b es: 007b fs: 0000 gs: 0033 ss: 0068  
Process rmmod (pid: 1823, ti=f6a5e000 task=f7082000 task.ti=f6a5e000)  
Stack: f9a55d20 f9a5200c 00000000 00000000 00000000 f6a5e000 f9a5200c f9a55a00  
00000000 bf818cf0 f9a51f3f f9a55a00 00000000 c0132c60 65736f72 00000000  
f69f9630 f69f9528 c014244a f6a4e900 00200246 f7082000 c01025e6 00000000  
Call Trace:  
[] rose_rt_free+0x1d/0x49 [rose]  
[] rose_rt_free+0x1d/0x49 [rose]  
[] rose_exit+0x4c/0xd5 [rose]  
[] sys_delete_module+0x15e/0x186  
[] remove_vma+0x40/0x45  
[] sysenter_past_esp+0x8f/0x99  
[] trace_hardirqs_on+0x118/0x13b  
[] sysenter_past_esp+0x5f/0x99  
=======================  
Code: 05 03 1d 80 db 5b c0 8b 03 25 00 40 02 00 3d 00 40 02 00 75 03 8b 5b 0c 8b 73 10 8b 44 24 18 89 44 24 04 9c 5d fa e8 77 df fd ff <8b> 56 08 89 f8 e8 84 f4 fd ff e8 bd 32 06 00 3b 5c 86 60 75 0f  
EIP: [] kfree+0x48/0xa1 SS:ESP 0068:f6a5ef28  
  
Signed-off-by: Alexey Dobriyan   
Signed-off-by: David S. Miller   
  
include/net/rose.h  
net/rose/rose_loopback.c  
net/rose/rose_route.c

URL: http://gitweb.enneenne.com/?p=linuxpps;a=commit;h=891e6a931255238dddd08a7b306871240961a27f



More information about the LinuxPPS mailing list