Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/asm: Simplify __smp_mb() definition

Drop the bitness ifdeffery in favor of using _ASM_SP,
which is the helper macro for the rSP register specification
for 32 and 64 bit depending on the build.

No functional changes.

Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210512093310.5635-1-bp@alien8.de

authored by

Borislav Petkov and committed by
Ingo Molnar
1bc67873 64e1f587

+2 -5
+2 -5
arch/x86/include/asm/barrier.h
··· 54 54 #define dma_rmb() barrier() 55 55 #define dma_wmb() barrier() 56 56 57 - #ifdef CONFIG_X86_32 58 - #define __smp_mb() asm volatile("lock; addl $0,-4(%%esp)" ::: "memory", "cc") 59 - #else 60 - #define __smp_mb() asm volatile("lock; addl $0,-4(%%rsp)" ::: "memory", "cc") 61 - #endif 57 + #define __smp_mb() asm volatile("lock; addl $0,-4(%%" _ASM_SP ")" ::: "memory", "cc") 58 + 62 59 #define __smp_rmb() dma_rmb() 63 60 #define __smp_wmb() barrier() 64 61 #define __smp_store_mb(var, value) do { (void)xchg(&var, value); } while (0)