Messages in this thread | | | Date | Mon, 28 Apr 2008 15:08:36 +0800 | From | "Dave Young" <> | Subject | Re: NULL dereference OOPS on SysRq-w |
| |
On Mon, Apr 28, 2008 at 3:01 PM, Dan Noe <dpn@isomerica.net> wrote: > Dave Young wrote: > > > [snip] > > > > I have a fix for the NULL pointer reference BUG, tested on my pc. > > --- > > > > "m" will be NULL if seq_printf & seq_puts is called from sched_debug_show > > Use SEQ_* macros to fix it > > Signed-off-by: Dave Young <hidave.darkstar@gmail.com> > > > > There is actually already a patch out for this which simply hasn't made it > upstream yet - Mike Galbraith emailed me with it and it indeed fixes the > problem. I hadn't realized his email didn't go to lkml.. otherwise I would > have echoed that here to avoid wasting people's time. My apologies.
Ok, thanks.
While debuging this issue I found another BUG about sysrq,
echo w >/proc/sys/kernel/sysrq My system hangs, there's no response from then on.
> > Cheers, > Dan > > === > > Here is his message: > > From: efault@gmx.de > > Peter's fix didn't make it up-stream. > > Subject: sched: fix oops > > sched_debug uses SEQ_printf to use printk when the seqfile 'm' is NULL. > Instead of doing that here too; choose to not output the weight tree > to cut back on output. > > Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> > --- > diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c > index 89fa32b..353a481 100644 > --- a/kernel/sched_fair.c > +++ b/kernel/sched_fair.c > @@ -1643,8 +1643,10 @@ static void print_cfs_stats(struct seq_file *m, int > cpu) > > for_each_leaf_cfs_rq(cpu_rq(cpu), cfs_rq) > print_cfs_rq(m, cpu, cfs_rq); > > - seq_printf(m, "\nWeight tree:\n"); > - print_cfs_rq_tasks(m, &cpu_rq(cpu)->cfs, 1); > + if (m) { > + seq_printf(m, "\nWeight tree:\n"); > > + print_cfs_rq_tasks(m, &cpu_rq(cpu)->cfs, 1); > + } > rcu_read_unlock(); > } > #endif > > > > > -- > /--------------- - - - - - - > | Dan Noe > | http://isomerica.net/~dpn/ >
| |