Re: Kernel Oops-jprobe

Balbir Singh
2006-03-17T09:31:21Z

<snip>
> >DEVPATH=/module/sysensor SUBSYSTEM=module[17192146.124000] Unable to
> >handle kernel paging request at virtual address 080c9566

The address looks like a user space address. Since sys_open() passes
user space arguments - in this case a pointer to the filename. Are you
derefencing the pointer correctly?

I think the handler should first copy_from_user().

Moreover your stack is
[17192146.124000] Call Trace:
[17192146.124000] [<c01c6384>] vscnprintf+0x17/0x24
[17192146.124000] [<c0116c7d>] vprintk+0x62/0x22a
[17192146.124000] [<c02a8682>] int3+0x1e/0x24
[17192146.124000] [<c0116c18>] printk+0xe/0x11
[17192146.124000] [<e05610ac>] jsys_open+0x1d/0x28 [sysensor]
[17192146.124000] [<c0102cef>] sysenter_past_esp+0x54/0x75
[17192146.124000] Code: 77 03 c6 03 20 4d 43 85 ed 7f f1 e9 9e 01 00
00 89 f0 89 fa 83 c6 04 8b 08 b8 19 14 2d c0 81 f9 ff 0f 00 00 0f 46
c8 89 c8 eb 06 <80> 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 f6 04 24 10
89 c7 75

and in the code posted, there is no printk in jsys_open(). Have you
sent a revised version of your probe module?

Regards,
Balbir