lkml.org 
[lkml]   [1999]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject/proc/net/ip_masq/... problem (oops on rm)
rm /proc/net/ip_masq/app succeeds but rm /proc/net/ip_masq/{icmp,tcp,udp}
gives an oops. kfree says that it got invalid object and makes an oops (by
hand, it seems).

The difference between .../app and .../{icmp,tcp,udp} is that app uses
explicit inode number and the others use dynamic inode numbers. When I
changed icmp to static inode number it doesn't generate oops any more.

But I couldn't understand what's the problem there.

2.2.5ac6. Happens with pristine 2.2.5 too, but 2.2.5 gives one more
message (de_put ...) before the kfree one (console loglevel=9):

root@roos:~>rm /proc/net/ip_masq/icmp
rm: remove `/proc/net/ip_masq/icmp'? y
proc_file_unlink: deleting ip_masq/icmp
remove_proc_entry: ip_masq/icmp busy, count=1
de_put: deferred delete of icmp
kfree: Bad obj c01d6270
Unable to handle kernel NULL pointer dereference at virtual address
00000000

ksymoops output (BTW, why is the stack trace so full on prio2band's,
tvec's etc? Because of jump tables?)

Options used: -V (default)
-o /lib/modules/2.2.5-ac6/ (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-m /usr/src/linux/System.map (default)
-c 1 (default)
-a - same as ksymoops (default)

You did not tell me where to find symbol information. I will assume
that the log matches the kernel and modules that are running right now
and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.

Apr 11 15:29:59 roos kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000
Apr 11 15:29:59 roos kernel: current->tss.cr3 = 015a3000, pr3 = 015a3000
Apr 11 15:29:59 roos kernel: *pde = 00000000
Apr 11 15:29:59 roos kernel: Oops: 0002
Apr 11 15:29:59 roos kernel: CPU: 0
Apr 11 15:29:59 roos kernel: EIP: 0010:[<c011f527>]
Apr 11 15:29:59 roos kernel: EFLAGS: 00010282
Apr 11 15:29:59 roos kernel: eax: 0000001b ebx: c0245ab0 ecx: c021ecfe edx: c3e0c000
Apr 11 15:29:59 roos kernel: esi: c01de978 edi: 00000000 ebp: c05b3000 esp: c3f0ff10
Apr 11 15:29:59 roos kernel: ds: 0018 es: 0018 ss: 0018
Apr 11 15:29:59 roos kernel: Process rm (pid: 10851, process nr: 68, stackpage=c3f0f000)
Apr 11 15:29:59 roos kernel: Stack: c01de978 c20e6220 00000000 c05b3000 00000001 c01127aa c01de978 c0147e19
Apr 11 15:29:59 roos kernel: c01de978 c0146bb7 c01de978 c0146bf4 c01de978 c01fe39c c012fb38 c20e6220
Apr 11 15:29:59 roos kernel: c1049340 c20e6220 c1049340 c012ed96 c20e6220 c1049340 c02eb020 c0147937
Apr 11 15:29:59 roos kernel: Call Trace: [<c01de978>] [<c01127aa>] [<c01de978>] [<c0147e19>] [<c01de978>] [<c0146bb7>] [<c01de978>]
Apr 11 15:29:59 roos kernel: [<c0146bf4>] [<c01de978>] [<c012fb38>] [<c012ed96>] [<c0147937>] [<c01d974c>] [<c012acd4>] [<c012ad4c>]
Apr 11 15:29:59 roos kernel: [<c0108978>]
Apr 11 15:29:59 roos kernel: Code: c7 05 00 00 00 00 00 00 00 00 83 c4 08 5b 5e 5f 5d 83 c4 0c
Copying default arch from ksymoops, bfd_arch=8 bfd_mach=0

>>EIP; c011f527 <kfree+1a3/1b8>
Trace; c01de978 <prio2band+6b4/1892>
Trace; c01127aa <printk+166/174>
Trace; c01de978 <prio2band+6b4/1892>
Trace; c0147e19 <free_proc_entry+19/20>
Trace; c01de978 <prio2band+6b4/1892>
Trace; c0146bb7 <de_put+3b/40>
Trace; c01de978 <prio2band+6b4/1892>
Trace; c0146bf4 <proc_delete_inode+24/2c>
Trace; c01de978 <prio2band+6b4/1892>
Trace; c012fb38 <iput+7c/1e4>
Trace; c012ed96 <d_delete+4e/6c>
Trace; c0147937 <proc_unlink+3b/44>
Trace; c01d974c <tvecs+4be4/9654>
Trace; c012acd4 <vfs_unlink+e0/ec>
Trace; c012ad4c <sys_unlink+6c/a4>
Trace; c0108978 <system_call+34/38>
Code; c011f527 <kfree+1a3/1b8> 00000000 <_EIP>:
Code; c011f527 <kfree+1a3/1b8> 0: c7 05 00 00 00 movl $0x0,0x0
Code; c011f52c <kfree+1a8/1b8> 5: 00 00 00 00 00
Code; c011f531 <kfree+1ad/1b8> a: 83 c4 08 addl $0x8,%esp
Code; c011f534 <kfree+1b0/1b8> d: 5b popl %ebx
Code; c011f535 <kfree+1b1/1b8> e: 5e popl %esi
Code; c011f536 <kfree+1b2/1b8> f: 5f popl %edi
Code; c011f537 <kfree+1b3/1b8> 10: 5d popl %ebp
Code; c011f538 <kfree+1b4/1b8> 11: 83 c4 0c addl $0xc,%esp


1 warning issued. Results may not be reliable.

---
Meelis Roos (mroos@tartu.cyber.ee)



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

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.032 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site