Re: [RFC PATCH] Add CRC checksum for RCU lists

From: Peter Zijlstra
Date: Fri Sep 21 2007 - 08:02:35 EST


On Thu, 20 Sep 2007 14:34:11 -0400 Steven Rostedt <rostedt@xxxxxxxxxxx>
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);

> + 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/