Re: [PATCH] s390/percpu: Fix MVIY_PERCPU() with older binutils

Heiko Carstens <[email protected]>
Newsgroups org.kernel.vger.linux-s390,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Wed, Aug 12, 2026 at 10:30:36PM +0200, Karl Mehltretter wrote:
> Commit a737737cdb9c ("s390/percpu: Infrastructure for more efficient
> this_cpu operations") introduced MVIY_PERCPU(), which stringifies
> arguments that are already C string literals. This generates an
> assembler macro invocation with whitespace-separated quoted arguments:
> 
>   GEN_MVIY "459712" "%r3"
> 
> GNU as versions prior to binutils 2.39 drop the separating whitespace
> between quoted macro arguments during input scrubbing. They
> consequently parse the invocation as a single argument and emit
> repeated warnings:
> 
>   Warning: missing closing `"'
> 
> The .ifc in GEN_MVIY never matches and GNU as exits successfully
> without emitting the mviy instruction. As a result, the interrupted
> per-CPU sequence is not marked in lowcore and the exception return
> path cannot repair the per-CPU address register after migration.
> 
> All MVIY_PERCPU() callers pass C string literals. Use them directly
> and separate the assembler macro arguments with an explicit comma. The
> resulting invocation is:
> 
>   GEN_MVIY 459712, %r3
> 
> This form is unambiguous for GNU as and LLVM's integrated assembler.
> This behavior was fixed in GNU as from binutils 2.39, but Linux
> supports binutils 2.30.
> 
> Fixes: a737737cdb9c ("s390/percpu: Infrastructure for more efficient this_cpu operations")
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Karl Mehltretter <[email protected]>
> ---
>  arch/s390/include/asm/percpu.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Thanks a lot. I'm about to change this code anyway. It seems it should better
error out instead of generating incorrect code (even if there is a warning).

Vasily, could you add

Cc: [email protected]

please?

Reviewed-by: Heiko Carstens <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.