Thread (6 messages) 6 messages, 3 authors, 2022-07-11

Re: [PATCH v2] module: kallsyms: Ensure preemption in add_kallsyms() with PREEMPT_RT

From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2022-07-07 17:21:06
Also in: linux-rt-users, lkml

On Thu, Jul 07, 2022 at 05:57:50PM +0100, Aaron Tomlin wrote:
On Wed 2022-07-06 10:58 -0700, Luis Chamberlain wrote:
quoted
Hey Aaron, thanks again!
Hi Luis,

No problem :)
quoted
On Mon, Jul 04, 2022 at 05:17:53PM +0100, Aaron Tomlin wrote:
quoted
To disable preemption in the context of add_kallsyms() is incorrect.
Why, what broke? Did this used to work? Was the commit in question a
regression then? Clarifying all this will help a lot.
Sorry for the confusion! If I understand correctly, nothing broke
intrinsically.

Rather with commit 08126db5ff73 ("module: kallsyms: Fix suspicious rcu
usage") under PREEMPT_RT=y, by disabling preemption, I introduced an
unbounded latency since the loop is not fixed which is generally frowned
upon.
This is incredibly important information which should be added to the
commit log, specialy as PREEMPT_RT=y becomes a first class citizen.
So, I would say this was a regression since earlier preemption was
not disabled and we would dereference RCU-protected pointers explicitly
i.e. without using the more appropriate rcu_dereference() family
of primitives. That being said, these pointers cannot change in this
context as explained previously.

Would the above be suitable - just to confirm before I send another
iteration?
Yes, I would send this to Linus for the rc series. Please adjust the
commit log with all this information.

BTW I think there is just one more fix pending from you right?

  Luis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help