x86/vdso: Fix output operand size of RDPID
authorUros Bizjak <ubizjak@gmail.com>
Mon, 16 Jun 2025 09:52:57 +0000 (11:52 +0200)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 26 Aug 2025 17:33:19 +0000 (19:33 +0200)
commitac9c408ed19d535289ca59200dd6a44a6a2d6036
tree14a94d54422e1886f4b66b74973199d6b7a14b50
parent1b237f190eb3d36f52dffe07a40b5eb210280e00
x86/vdso: Fix output operand size of RDPID

RDPID instruction outputs to a word-sized register (64-bit on x86_64 and
32-bit on x86_32). Use an unsigned long variable to store the correct size.

LSL outputs to 32-bit register, use %k operand prefix to always print the
32-bit name of the register.

Use RDPID insn mnemonic while at it as the minimum binutils version of
2.30 supports it.

  [ bp: Merge two patches touching the same function into a single one. ]

Fixes: ffebbaedc861 ("x86/vdso: Introduce helper functions for CPU and node number")
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/20250616095315.230620-1-ubizjak@gmail.com
arch/x86/include/asm/segment.h