Re: [BUG REPORT] arch/x86/include/asm/uaccess_64.h:119: Error: junk at end of line
From: Borislav Petkov
Date: Mon Apr 17 2023 - 15:26:16 EST
On Mon, Apr 17, 2023 at 11:32:19AM -0700, H. Peter Anvin wrote:
> We do have assembly-aware macros for this; I believe they are called _UL() etc.
It doesn't work even if I do:
#define ALT_FLAG_NOT BIT_MASK(0)
and that macro has the UL() wrappery for the __ASSEMBLY__ preprocessor case
because where it gets used, ALTERNATIVE_3() in __clear_user(),
__ASSEMBLY__ is there not defined, ofc - it is C code.
So it does:
"# ALT: oldinstr3\n" "661:\n\t" "rep stosb" "\n662:\n" "# ALT: padding3\n"...
" .4byte " "((((((1UL))) << ((0) % 64)) << 16) | ((18*32+ 4)))"
which those old gas things don't have support yet for.
And U and L suffixes are C-syntax, strictly speaking. So assembler
numbers don't need them. Even if binutils has support for them:
$ binutils-gdb> git tag --contains e140100a5da85568e83ffe8e77d3f5e4a59ddee8 | head
binutils-2_27
...
$ binutils-gdb> git tag --contains 86b80085c889cd388fa677a5ae9053fd4be3776c | head
binutils-2_28
...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette