--
On Fri, 21 Sep 2007, Peter Zijlstra wrote:
> On Thu, 20 Sep 2007 14:34:11 -0400 Steven Rostedt <[email protected]>
> wrote:
>
>
> > +static inline void rcu_crc_check(struct rcu_head *head)
> > +{
> > + static int once;
> > + if (unlikely(head->crc != rcu_crc_calc(head)) && !once) {
> > + once++;
> > + printk("BUG: RCU check failed!");
> > + if (head->caller)
> > + printk(" (caller=%p)",
> > + head->caller);
>
> char sym[KSYM_SYMBOL_LEN];
> sprint_symbol(sym, head->caller);
> printk(" (caller: [<%p>] %s)", head->caller, sym);
>
Yes, good point!
Although I may do it this way:
printk(" (caller: [<%p>]", head->caller);
print_symbol(" %s)\n", (unsigned long)head->caller);
and eliminate the temp variable.
-- Steve
> > + printk("\n");
> > + printk(" CRC was %08lx, expected %08lx\n",
> > + head->crc, rcu_crc_calc(head));
> > + printk(" %p %p\n",
> > + head->next, head->func);
> > + dump_stack();
> > + }
> > +}
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]