Reputation: 683
In kernel backtrace what is the meaning of single underscore eg:
[ 22.669572] [df425cf0] [c00085a8] show_stack+0x44/0x160 (unreliable)
[ 22.720393] [df425d20] [c00348d8] __might_sleep+0xfc/0x120
[ 22.758049] [df425d30] [c00ea764] kmem_cache_alloc_notrace+0x8c/0xc8
[ 22.798333] [df425d50] [c0098614] request_threaded_irq+0x78/0x1f8
[ 22.837834] [df425d90] [f16f694c] _interrupt_connect+0xc4/0x150 [kbde]
[ 22.878642] [df425db0] [f19b29e0] _ioctl+0x5ec/0x77c [ubde]
[ 22.916555] [df425e70] [f19b2100] _gmodule_ioctl+0x34/0x44 [ubde]
[ 22.956049] [df425e80] [c0107a00] vfs_ioctl+0xcc/0xec
[ 22.992383] [df425ea0] [c0107be8] do_vfs_ioctl+0x84/0x7e8
[ 23.029770] [df425f10] [c01083e0] sys_ioctl+0x94/0x108
[ 23.066372] [df425f40] [c0011648] ret_from_syscall+0x0/0x4
[ 23.104024] --- Exception: c01 at 0xf8ef4e0
I tried searching _interrupt_connect and _gmodule_ioctl function in kernel source code. I was not able to find them.
Upvotes: 1
Views: 251
Reputation: 683
Single underscore in stack trace do not have any special meaning, Its was just part of the function name. I was not able to find it my work space because it was coming from some third party kernel module (kbde) for which the source code was not there in my work space.
Upvotes: 0
Reputation: 14753
_interrupt_connect()
, _ioctl
and _gmodule_ioctl
are just functions, and underscore is just part of those functions' names.
What you should pay attention to is stuff like [kbde]
and [ubde]
on the right of those functions. They are probably kernel module names. Those modules are not part of kernel itself (they were built as external modules). And functions that you are talking about are basically the part of those modules. That's why you can't find those functions in kernel code.
So those modules were loaded into kernel (they are not built-in modules). You should look for sources of those modules. But you may find out that they are proprietary, in that case no code will be available (unless you are one of authors/maintainers of that code).
Upvotes: 2