Re: [PATCH v2] rcu: Dump memory object info if callback function is invalid

From: Leizhen (ThunderTown)
Date: Mon Nov 14 2022 - 02:05:47 EST




On 2022/11/11 23:50, Elliott, Robert (Servers) wrote:
>
>
>> +static inline void debug_rcu_head_callback(struct rcu_head *rhp)
>> +{
>> + if (unlikely(!rhp->func))
>> + mem_dump_obj(rhp);
>> +}
>> +
>
> The mm/util.c definition of mem_dump_object() says:
> * This function uses pr_cont(), so that the caller is expected to have
> * printed out whatever preamble is appropriate.
>
> so this needs to call pr_alert() or pr_err() before that to explain what
> is being printed (with no \n), like these:
>
> kernel/rcu/rcutorture.c: pr_alert("mem_dump_obj(%px):", &rhp);
> kernel/rcu/rcutorture.c: mem_dump_obj(&rhp);
> ...
> kernel/rcu/tree.c: pr_err("%s(): Double-freed CB %p->%pS()!!! ", __func__, head, head->func);
> kernel/rcu/tree.c: mem_dump_obj(head);

Yes, right, thanks.

>
>
> .
>

--
Regards,
Zhen Lei