This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: unsafe in _stp_init_kernel_symbols
- From: Ananth N Mavinakayanahalli <ananth at in dot ibm dot com>
- To: Wenji Huang <wenji dot huang at oracle dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: Tue, 17 Jun 2008 10:10:12 +0530
- Subject: Re: unsafe in _stp_init_kernel_symbols
- References: <485734CA.6050706@oracle.com>
- Reply-to: ananth at in dot ibm dot com
On Tue, Jun 17, 2008 at 11:51:38AM +0800, Wenji Huang wrote:
> The function is executed in running time. Maybe the runnning kernel doesn't
> match the debuginfo. The kernel symbols are incorrect.
>
> So there will be danger of kernel oops. for example in such statement:
>
> /* Use the seq_file interface to safely get a list of installed modules
> */
> res = modules_op->start(NULL, &pos);
A printk() just before this statement is the last one to be printed out
before the crash cited in 6646. I wouldn't be surprised if this is
indeed the culprit. (Planning to investigate this further today).
The crash there is a NULL instruction pointer implying possibly a function
pointer type call. Further, during my debugging, modules_op extracted
out in symbols.c doesn't match what's available in /proc/kallsyms.
Ananth