Re: [PATCH v2 3/3] jump_label: make initial NOP patching the special case

From: Ard Biesheuvel
Date: Thu Jun 16 2022 - 07:25:21 EST


On Wed, 15 Jun 2022 at 17:41, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
>
> Instead of defaulting to patching NOP opcodes at init time, and leaving
> it to the architectures to override this if this is not needed, switch
> to a model where doing nothing is the default. This is the common case
> by far, as only MIPS requires NOP patching at init time. On all other
> architectures, the correct encodings are emitted by the compiler and so
> no initial patching is needed.
>
> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> ---
> Documentation/staging/static-keys.rst | 3 ---
> arch/arc/kernel/jump_label.c | 13 -------------
> arch/arm/kernel/jump_label.c | 6 ------
> arch/arm64/kernel/jump_label.c | 11 -----------
> arch/mips/include/asm/jump_label.h | 2 ++
> arch/parisc/kernel/jump_label.c | 11 -----------
> arch/riscv/kernel/jump_label.c | 12 ------------
> arch/s390/kernel/jump_label.c | 5 -----
> arch/x86/kernel/jump_label.c | 13 -------------
> kernel/jump_label.c | 14 +++++---------
> 10 files changed, 7 insertions(+), 83 deletions(-)
>

This needs the following hunk as well, as spotted by the bot:

--- a/include/linux/jump_label.h
+++ b/include/linux/jump_label.h
@@ -220,8 +220,6 @@ extern void jump_label_lock(void);
extern void jump_label_unlock(void);
extern void arch_jump_label_transform(struct jump_entry *entry,
enum jump_label_type type);
-extern void arch_jump_label_transform_static(struct jump_entry *entry,
- enum jump_label_type type);
extern bool arch_jump_label_transform_queue(struct jump_entry *entry,
enum jump_label_type type);
extern void arch_jump_label_transform_apply(void);

Let me know if I need to resend for this.