Re: [PATCH] RFC: x86/jump_label: Mark arguments as const to satisfy asm constraints

From: Josh Poimboeuf
Date: Fri Feb 12 2021 - 11:16:22 EST


On Thu, Feb 11, 2021 at 01:48:48PM -0800, Jason Gerecke wrote:
> When compiling an external kernel module with `-O0` or `-O1`, the following
> compile error may be reported:
>
> ./arch/x86/include/asm/jump_label.h:25:2: error: impossible constraint in ‘asm’
> 25 | asm_volatile_goto("1:"
> | ^~~~~~~~~~~~~~~~~
>
> It appears that these lower optimization levels prevent GCC from detecting
> that the key/branch arguments can be treated as constants and used as
> immediate operands. To work around this, explicitly add the `const` label.
>
> Signed-off-by: Jason Gerecke <jason.gerecke@xxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
> ---
> Marked RFC since I'm not familiar with this subsystem or the asm blocks that
> are impacted. Extra-close inspection would be appreciated.

Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>

--
Josh