Re: [PATCH v3 -next 1/1] module: kallsyms: Ensure preemption in add_kallsyms() with PREEMPT_RT

From: Luis Chamberlain
Date: Mon Jul 11 2022 - 13:32:54 EST


On Mon, Jul 11, 2022 at 06:17:19PM +0100, Aaron Tomlin wrote:
> The commit 08126db5ff73 ("module: kallsyms: Fix suspicious rcu usage")
> under PREEMPT_RT=y, disabling preemption introduced an unbounded
> latency since the loop is not fixed. This change caused a regression
> since previously preemption was not disabled and we would dereference
> RCU-protected pointers explicitly. That being said, these pointers
> cannot change.
>
> Before kallsyms-specific data is prepared/or set-up, we ensure that
> the unformed module is known to be unique i.e. does not already exist
> (see load_module()). Therefore, we can fix this by using the common and
> more appropriate RCU flavour as this section of code can be safely
> preempted.
>
> Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Fixes: 08126db5ff73 ("module: kallsyms: Fix suspicious rcu usage")
> Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx>

Thanks! Queued up!

Luis