This is the mail archive of the
systemtap@sources.redhat.com
mailing list for the systemtap project.
Oops when unregistering kprobes
- From: William Cohen <wcohen at redhat dot com>
- To: Ananth Narayan <ananth dot gururaja at gmail dot com>
- Cc: SystemTAP <systemtap at sources dot redhat dot com>
- Date: Fri, 15 Apr 2005 17:48:55 -0400
- Subject: Oops when unregistering kprobes
I noticed when attempting to run my multiprobe test (kprobe-multi.ko) on
the stock 2.6.12-rc1-mm2 kernel that only allows a single probe at an
address. I know that is is going to fail. However, I got an oops from
attempting to remove a non existant probe. Only one of the two probes
were inserted, but the code tried to remove both, resulting in the oops
for the second kprobe removal. Could we make this more robust so
kprobe_unregister can't oops on a bogus kprobe removal?
-Will
Apr 15 17:24:26 trek kernel: Unable to handle kernel NULL pointer
dereference a\t virtual address 00000000
Apr 15 17:24:26 trek kernel: printing eip:
Apr 15 17:24:26 trek kernel: c014a104
Apr 15 17:24:26 trek kernel: *pde = 08313001
Apr 15 17:24:26 trek kernel: Oops: 0002 [#1]
Apr 15 17:24:26 trek kernel: SMP
Apr 15 17:24:26 trek kernel: Modules linked in: kprobe_multi md5 ipv6
parport_p\c lp parport autofs4 sunrpc ipt_REJECT ipt_state ip_conntrack
iptable_filter ip\_tables dm_mod video hotkey button battery ac uhci_hcd
hw_random i2c_i801 i2c_c\ore emu10k1_gp snd_cs46xx gameport snd_emu10k1
snd_rawmidi snd_seq_device snd_a\c97_codec snd_pcm_oss snd_mixer_oss
snd_pcm snd_timer snd_page_alloc snd_util_m\em snd_hwdep snd soundcore
3c59x mii floppy ext3 jbd
Apr 15 17:24:26 trek kernel: CPU: 1
Apr 15 17:24:26 trek kernel: EIP: 0060:[<c014a104>] Not tainted VLI
Apr 15 17:24:26 trek kernel: EFLAGS: 00010046 (2.6.12-rc2-mm2)
Apr 15 17:24:26 trek kernel: EIP is at unregister_kprobe+0x24/0x50
Apr 15 17:24:26 trek kernel: eax: 00000000 ebx: d0adebf0 ecx:
00000282 ed\x: 00000000
Apr 15 17:24:26 trek kernel: esi: d0adebf0 edi: 00000003 ebp:
00000003 es\p: c7e3bf84
Apr 15 17:24:26 trek kernel: ds: 007b es: 007b ss: 0068
Apr 15 17:24:26 trek kernel: Process insmod (pid: 2885,
threadinfo=c7e3b000 tas\k=cfb77560)
Apr 15 17:24:26 trek kernel: Stack: 00000001 d0ade36c d0ade414 00000003
0000000\1 00000000 d0adec80 00000000
Apr 15 17:24:26 trek kernel: 00000000 c7e3b000 c0142b85 0804a018
0000000\0 0804a018 00000000 c010429d
Apr 15 17:24:26 trek kernel: 0804a018 00018480 0804a008 00000000
0000000\0 bfaf3998 ffffffda 0000007b
Apr 15 17:24:26 trek kernel: Call Trace:
Apr 15 17:24:26 trek kernel: [<d0ade36c>] init_module+0x21c/0x270
[kprobe_mult\i]
Apr 15 17:24:26 trek kernel: [<c0142b85>] sys_init_module+0xd5/0x210
Apr 15 17:24:26 trek kernel: [<c010429d>] syscall_call+0x7/0xb
Apr 15 17:24:26 trek kernel: Code: 8d b4 26 00 00 00 00 53 89 c3 e8 48
07 fd ff\ b8 60 6a 3a c0 e8 3e 33 20 00 8b 53 08 89 c1 0f b6 43 1c 88 02
8b 03 8b 53 04 \85 c0 <89> 02 74 03 89 50 04 c7 03 00 01 10 00 89 ca b8
60 6a 3a c0 c7