Re: [PATCH v3 1/7] Fix "x86/alternatives: Lockdep-enforce text_mutex in text_poke*()"
From: Thomas Gleixner
Date: Sun Nov 04 2018 - 15:58:44 EST
On Fri, 2 Nov 2018, Nadav Amit wrote:
> text_mutex is expected to be held before text_poke() is called, but we
> cannot add a lockdep assertion since kgdb does not take it, and instead
> *supposedly* ensures the lock is not taken and will not be acquired by
> any other core while text_poke() is running.
>
> The reason for the "supposedly" comment is that it is not entirely clear
> that this would be the case if gdb_do_roundup is zero.
>
> Add a comment to clarify this behavior, and restore the assertions as
> they were before the recent commit.
It restores nothing. It just removes the assertion.
> This partially reverts commit 9222f606506c ("x86/alternatives:
> Lockdep-enforce text_mutex in text_poke*()")
That opens up the same can of worms again, which took us a while to close.
Can we please instead split out the text_poke() code into a helper function
and have two callers:
text_poke() which contains the assert
text_poke_kgdb() which does not
Thanks,
tglx