Skip to content

Commit 45d96dd

Browse files
committed
Merge tag 'x86_asm_for_v6.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 asm update from Borislav Petkov: - Fix RDPID's output operand size in inline asm and use the insn mnemonic because the minimum binutils version supports it * tag 'x86_asm_for_v6.18_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Fix output operand size of RDPID
2 parents 163d9c6 + ac9c408 commit 45d96dd

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

arch/x86/include/asm/segment.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ static inline unsigned long vdso_encode_cpunode(int cpu, unsigned long node)
244244

245245
static inline void vdso_read_cpunode(unsigned *cpu, unsigned *node)
246246
{
247-
unsigned int p;
247+
unsigned long p;
248248

249249
/*
250250
* Load CPU and node number from the GDT. LSL is faster than RDTSCP
@@ -254,10 +254,10 @@ static inline void vdso_read_cpunode(unsigned *cpu, unsigned *node)
254254
*
255255
* If RDPID is available, use it.
256256
*/
257-
alternative_io ("lsl %[seg],%[p]",
258-
".byte 0xf3,0x0f,0xc7,0xf8", /* RDPID %eax/rax */
257+
alternative_io ("lsl %[seg],%k[p]",
258+
"rdpid %[p]",
259259
X86_FEATURE_RDPID,
260-
[p] "=a" (p), [seg] "r" (__CPUNODE_SEG));
260+
[p] "=r" (p), [seg] "r" (__CPUNODE_SEG));
261261

262262
if (cpu)
263263
*cpu = (p & VDSO_CPUNODE_MASK);

0 commit comments

Comments
 (0)