Merge tag 'v6.8-rc4' into x86/percpu, to resolve conflicts and refresh the branch
authorIngo Molnar <mingo@kernel.org>
Wed, 14 Feb 2024 09:45:07 +0000 (10:45 +0100)
committerIngo Molnar <mingo@kernel.org>
Wed, 14 Feb 2024 09:45:07 +0000 (10:45 +0100)
Conflicts:
arch/x86/include/asm/percpu.h
arch/x86/include/asm/text-patching.h

Signed-off-by: Ingo Molnar <mingo@kernel.org>
20 files changed:
1  2 
arch/x86/Kconfig
arch/x86/entry/calling.h
arch/x86/entry/entry_32.S
arch/x86/entry/entry_64.S
arch/x86/include/asm/current.h
arch/x86/include/asm/nospec-branch.h
arch/x86/include/asm/percpu.h
arch/x86/include/asm/preempt.h
arch/x86/include/asm/processor.h
arch/x86/include/asm/text-patching.h
arch/x86/kernel/alternative.c
arch/x86/kernel/callthunks.c
arch/x86/kernel/cpu/common.c
arch/x86/kernel/head_64.S
arch/x86/kernel/smp.c
arch/x86/kernel/traps.c
arch/x86/kernel/vmlinux.lds.S
arch/x86/lib/cmpxchg8b_emu.S
arch/x86/xen/xen-asm.S
include/linux/compiler.h

Simple merge
index 47368ab0bda0edd7635e0540525a43d34ba3a1ed,9f1d94790a54912cc431e9e39fc0a4a7e6069398..e59d3073e7cf2e4daaccf986108c5c8ea21c1504
@@@ -173,10 -173,9 +173,9 @@@ For 32-bit we have the following conven
  .endm
  
  #define THIS_CPU_user_pcid_flush_mask   \
 -      PER_CPU_VAR(cpu_tlbstate) + TLB_STATE_user_pcid_flush_mask
 +      PER_CPU_VAR(cpu_tlbstate + TLB_STATE_user_pcid_flush_mask)
  
- .macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req
-       ALTERNATIVE "jmp .Lend_\@", "", X86_FEATURE_PTI
+ .macro SWITCH_TO_USER_CR3 scratch_reg:req scratch_reg2:req
        mov     %cr3, \scratch_reg
  
        ALTERNATIVE "jmp .Lwrcr3_\@", "", X86_FEATURE_PCID
Simple merge
Simple merge
Simple merge
Simple merge
index e56a37886143a86a9065cd49ee3415b13e67eb06,5e01883eb51ee8e576e70db0577bfbe0c20c2e4f..44958ebaf626e20c970acaacaad012f93cba2671
  
  #else /* ...!ASSEMBLY */
  
- #include <linux/kernel.h>
 +#include <linux/build_bug.h>
  #include <linux/stringify.h>
+ #include <asm/asm.h>
  
  #ifdef CONFIG_SMP
 +
 +#ifdef CONFIG_CC_HAS_NAMED_AS
 +
 +#ifdef __CHECKER__
 +#define __seg_gs              __attribute__((address_space(__seg_gs)))
 +#define __seg_fs              __attribute__((address_space(__seg_fs)))
 +#endif
 +
 +#ifdef CONFIG_X86_64
 +#define __percpu_seg_override __seg_gs
 +#else
 +#define __percpu_seg_override __seg_fs
 +#endif
 +
 +#define __percpu_prefix               ""
 +
 +#else /* CONFIG_CC_HAS_NAMED_AS */
 +
 +#define __percpu_seg_override
  #define __percpu_prefix               "%%"__stringify(__percpu_seg)":"
 +
 +#endif /* CONFIG_CC_HAS_NAMED_AS */
 +
 +#define __force_percpu_prefix "%%"__stringify(__percpu_seg)":"
  #define __my_cpu_offset               this_cpu_read(this_cpu_off)
  
 +#ifdef CONFIG_USE_X86_SEG_SUPPORT
 +/*
 + * Efficient implementation for cases in which the compiler supports
 + * named address spaces.  Allows the compiler to perform additional
 + * optimizations that can save more instructions.
 + */
 +#define arch_raw_cpu_ptr(ptr)                                 \
 +({                                                            \
 +      unsigned long tcp_ptr__;                                \
 +      tcp_ptr__ = __raw_cpu_read(, this_cpu_off);             \
 +                                                              \
 +      tcp_ptr__ += (unsigned long)(ptr);                      \
 +      (typeof(*(ptr)) __kernel __force *)tcp_ptr__;           \
 +})
 +#else /* CONFIG_USE_X86_SEG_SUPPORT */
  /*
   * Compared to the generic __my_cpu_offset version, the following
   * saves one instruction and avoids clobbering a temp register.
Simple merge
Simple merge
index fb338f00d38343bc7bc1c380245756ba75fc53b4,0b70653a98c1573a475edf808601cb1c33f9a45e..345aafbc19648865f7262b64e43d1ae5176aae4c
@@@ -29,6 -15,6 +15,8 @@@
  
  extern void text_poke_early(void *addr, const void *opcode, size_t len);
  
++extern void apply_relocation(u8 *buf, size_t len, u8 *dest, u8 *src, size_t src_len);
++
  /*
   * Clear and restore the kernel write-protection flag on the local CPU.
   * Allows the kernel to edit read-only pages.
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge