stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Andy Lutomirski <luto@kernel.org>,
	Borislav Petkov <bp@suse.de>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 114/294] x86/stackprotector/32: Make the canary into a regular percpu variable
Date: Thu, 11 Apr 2024 11:54:37 +0200	[thread overview]
Message-ID: <20240411095439.101219687@linuxfoundation.org> (raw)
In-Reply-To: <20240411095435.633465671@linuxfoundation.org>

5.10-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Andy Lutomirski <luto@kernel.org>

[ Upstream commit 3fb0fdb3bbe7aed495109b3296b06c2409734023 ]

On 32-bit kernels, the stackprotector canary is quite nasty -- it is
stored at %gs:(20), which is nasty because 32-bit kernels use %fs for
percpu storage.  It's even nastier because it means that whether %gs
contains userspace state or kernel state while running kernel code
depends on whether stackprotector is enabled (this is
CONFIG_X86_32_LAZY_GS), and this setting radically changes the way
that segment selectors work.  Supporting both variants is a
maintenance and testing mess.

Merely rearranging so that percpu and the stack canary
share the same segment would be messy as the 32-bit percpu address
layout isn't currently compatible with putting a variable at a fixed
offset.

Fortunately, GCC 8.1 added options that allow the stack canary to be
accessed as %fs:__stack_chk_guard, effectively turning it into an ordinary
percpu variable.  This lets us get rid of all of the code to manage the
stack canary GDT descriptor and the CONFIG_X86_32_LAZY_GS mess.

(That name is special.  We could use any symbol we want for the
 %fs-relative mode, but for CONFIG_SMP=n, gcc refuses to let us use any
 name other than __stack_chk_guard.)

Forcibly disable stackprotector on older compilers that don't support
the new options and turn the stack canary into a percpu variable. The
"lazy GS" approach is now used for all 32-bit configurations.

Also makes load_gs_index() work on 32-bit kernels. On 64-bit kernels,
it loads the GS selector and updates the user GSBASE accordingly. (This
is unchanged.) On 32-bit kernels, it loads the GS selector and updates
GSBASE, which is now always the user base. This means that the overall
effect is the same on 32-bit and 64-bit, which avoids some ifdeffery.

 [ bp: Massage commit message. ]

Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/c0ff7dba14041c7e5d1cae5d4df052f03759bef3.1613243844.git.luto@kernel.org
Stable-dep-of: e3f269ed0acc ("x86/pm: Work around false positive kmemleak report in msr_build_context()")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/Kconfig                          |  7 +-
 arch/x86/Makefile                         |  8 +++
 arch/x86/entry/entry_32.S                 | 56 ++--------------
 arch/x86/include/asm/processor.h          | 15 ++---
 arch/x86/include/asm/ptrace.h             |  5 +-
 arch/x86/include/asm/segment.h            | 30 +++------
 arch/x86/include/asm/stackprotector.h     | 79 +++++------------------
 arch/x86/include/asm/suspend_32.h         |  6 +-
 arch/x86/kernel/asm-offsets_32.c          |  5 --
 arch/x86/kernel/cpu/common.c              |  5 +-
 arch/x86/kernel/doublefault_32.c          |  4 +-
 arch/x86/kernel/head_32.S                 | 18 +-----
 arch/x86/kernel/setup_percpu.c            |  1 -
 arch/x86/kernel/tls.c                     |  8 +--
 arch/x86/lib/insn-eval.c                  |  4 --
 arch/x86/platform/pvh/head.S              | 14 ----
 arch/x86/power/cpu.c                      |  6 +-
 arch/x86/xen/enlighten_pv.c               |  1 -
 scripts/gcc-x86_32-has-stack-protector.sh |  6 +-
 19 files changed, 60 insertions(+), 218 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 6dc670e363939..47c94e9de03e4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -352,10 +352,6 @@ config X86_64_SMP
 	def_bool y
 	depends on X86_64 && SMP
 
-config X86_32_LAZY_GS
-	def_bool y
-	depends on X86_32 && !STACKPROTECTOR
-
 config ARCH_SUPPORTS_UPROBES
 	def_bool y
 
@@ -378,7 +374,8 @@ config CC_HAS_SANE_STACKPROTECTOR
 	default $(success,$(srctree)/scripts/gcc-x86_32-has-stack-protector.sh $(CC))
 	help
 	   We have to make sure stack protector is unconditionally disabled if
-	   the compiler produces broken code.
+	   the compiler produces broken code or if it does not let us control
+	   the segment on 32-bit kernels.
 
 menu "Processor type and features"
 
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 1f796050c6dde..8b9fa777f513b 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -87,6 +87,14 @@ ifeq ($(CONFIG_X86_32),y)
 
         # temporary until string.h is fixed
         KBUILD_CFLAGS += -ffreestanding
+
+	ifeq ($(CONFIG_STACKPROTECTOR),y)
+		ifeq ($(CONFIG_SMP),y)
+			KBUILD_CFLAGS += -mstack-protector-guard-reg=fs -mstack-protector-guard-symbol=__stack_chk_guard
+		else
+			KBUILD_CFLAGS += -mstack-protector-guard=global
+		endif
+	endif
 else
         BITS := 64
         UTS_MACHINE := x86_64
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 70bd81b6c612e..10b7c62a3e97a 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -20,7 +20,7 @@
  *	1C(%esp) - %ds
  *	20(%esp) - %es
  *	24(%esp) - %fs
- *	28(%esp) - %gs		saved iff !CONFIG_X86_32_LAZY_GS
+ *	28(%esp) - unused -- was %gs on old stackprotector kernels
  *	2C(%esp) - orig_eax
  *	30(%esp) - %eip
  *	34(%esp) - %cs
@@ -56,14 +56,9 @@
 /*
  * User gs save/restore
  *
- * %gs is used for userland TLS and kernel only uses it for stack
- * canary which is required to be at %gs:20 by gcc.  Read the comment
- * at the top of stackprotector.h for more info.
- *
- * Local labels 98 and 99 are used.
+ * This is leftover junk from CONFIG_X86_32_LAZY_GS.  A subsequent patch
+ * will remove it entirely.
  */
-#ifdef CONFIG_X86_32_LAZY_GS
-
  /* unfortunately push/pop can't be no-op */
 .macro PUSH_GS
 	pushl	$0
@@ -86,49 +81,6 @@
 .macro SET_KERNEL_GS reg
 .endm
 
-#else	/* CONFIG_X86_32_LAZY_GS */
-
-.macro PUSH_GS
-	pushl	%gs
-.endm
-
-.macro POP_GS pop=0
-98:	popl	%gs
-  .if \pop <> 0
-	add	$\pop, %esp
-  .endif
-.endm
-.macro POP_GS_EX
-.pushsection .fixup, "ax"
-99:	movl	$0, (%esp)
-	jmp	98b
-.popsection
-	_ASM_EXTABLE(98b, 99b)
-.endm
-
-.macro PTGS_TO_GS
-98:	mov	PT_GS(%esp), %gs
-.endm
-.macro PTGS_TO_GS_EX
-.pushsection .fixup, "ax"
-99:	movl	$0, PT_GS(%esp)
-	jmp	98b
-.popsection
-	_ASM_EXTABLE(98b, 99b)
-.endm
-
-.macro GS_TO_REG reg
-	movl	%gs, \reg
-.endm
-.macro REG_TO_PTGS reg
-	movl	\reg, PT_GS(%esp)
-.endm
-.macro SET_KERNEL_GS reg
-	movl	$(__KERNEL_STACK_CANARY), \reg
-	movl	\reg, %gs
-.endm
-
-#endif /* CONFIG_X86_32_LAZY_GS */
 
 /* Unconditionally switch to user cr3 */
 .macro SWITCH_TO_USER_CR3 scratch_reg:req
@@ -779,7 +731,7 @@ SYM_CODE_START(__switch_to_asm)
 
 #ifdef CONFIG_STACKPROTECTOR
 	movl	TASK_stack_canary(%edx), %ebx
-	movl	%ebx, PER_CPU_VAR(stack_canary)+stack_canary_offset
+	movl	%ebx, PER_CPU_VAR(__stack_chk_guard)
 #endif
 
 	/*
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index d7e017b0b4c3b..6dc3c5f0be076 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -441,6 +441,9 @@ struct fixed_percpu_data {
 	 * GCC hardcodes the stack canary as %gs:40.  Since the
 	 * irq_stack is the object at %gs:0, we reserve the bottom
 	 * 48 bytes of the irq stack for the canary.
+	 *
+	 * Once we are willing to require -mstack-protector-guard-symbol=
+	 * support for x86_64 stackprotector, we can get rid of this.
 	 */
 	char		gs_base[40];
 	unsigned long	stack_canary;
@@ -461,17 +464,7 @@ extern asmlinkage void ignore_sysret(void);
 void current_save_fsgs(void);
 #else	/* X86_64 */
 #ifdef CONFIG_STACKPROTECTOR
-/*
- * Make sure stack canary segment base is cached-aligned:
- *   "For Intel Atom processors, avoid non zero segment base address
- *    that is not aligned to cache line boundary at all cost."
- * (Optim Ref Manual Assembly/Compiler Coding Rule 15.)
- */
-struct stack_canary {
-	char __pad[20];		/* canary at %gs:20 */
-	unsigned long canary;
-};
-DECLARE_PER_CPU_ALIGNED(struct stack_canary, stack_canary);
+DECLARE_PER_CPU(unsigned long, __stack_chk_guard);
 #endif
 /* Per CPU softirq stack pointer */
 DECLARE_PER_CPU(struct irq_stack *, softirq_stack_ptr);
diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
index 409f661481e11..b94f615600d57 100644
--- a/arch/x86/include/asm/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
@@ -37,7 +37,10 @@ struct pt_regs {
 	unsigned short __esh;
 	unsigned short fs;
 	unsigned short __fsh;
-	/* On interrupt, gs and __gsh store the vector number. */
+	/*
+	 * On interrupt, gs and __gsh store the vector number.  They never
+	 * store gs any more.
+	 */
 	unsigned short gs;
 	unsigned short __gsh;
 	/* On interrupt, this is the error code. */
diff --git a/arch/x86/include/asm/segment.h b/arch/x86/include/asm/segment.h
index 7fdd4facfce71..72044026eb3c2 100644
--- a/arch/x86/include/asm/segment.h
+++ b/arch/x86/include/asm/segment.h
@@ -95,7 +95,7 @@
  *
  *  26 - ESPFIX small SS
  *  27 - per-cpu			[ offset to per-cpu data area ]
- *  28 - stack_canary-20		[ for stack protector ]		<=== cacheline #8
+ *  28 - unused
  *  29 - unused
  *  30 - unused
  *  31 - TSS for double fault handler
@@ -118,7 +118,6 @@
 
 #define GDT_ENTRY_ESPFIX_SS		26
 #define GDT_ENTRY_PERCPU		27
-#define GDT_ENTRY_STACK_CANARY		28
 
 #define GDT_ENTRY_DOUBLEFAULT_TSS	31
 
@@ -158,12 +157,6 @@
 # define __KERNEL_PERCPU		0
 #endif
 
-#ifdef CONFIG_STACKPROTECTOR
-# define __KERNEL_STACK_CANARY		(GDT_ENTRY_STACK_CANARY*8)
-#else
-# define __KERNEL_STACK_CANARY		0
-#endif
-
 #else /* 64-bit: */
 
 #include <asm/cache.h>
@@ -364,22 +357,15 @@ static inline void __loadsegment_fs(unsigned short value)
 	asm("mov %%" #seg ",%0":"=r" (value) : : "memory")
 
 /*
- * x86-32 user GS accessors:
+ * x86-32 user GS accessors.  This is ugly and could do with some cleaning up.
  */
 #ifdef CONFIG_X86_32
-# ifdef CONFIG_X86_32_LAZY_GS
-#  define get_user_gs(regs)		(u16)({ unsigned long v; savesegment(gs, v); v; })
-#  define set_user_gs(regs, v)		loadsegment(gs, (unsigned long)(v))
-#  define task_user_gs(tsk)		((tsk)->thread.gs)
-#  define lazy_save_gs(v)		savesegment(gs, (v))
-#  define lazy_load_gs(v)		loadsegment(gs, (v))
-# else	/* X86_32_LAZY_GS */
-#  define get_user_gs(regs)		(u16)((regs)->gs)
-#  define set_user_gs(regs, v)		do { (regs)->gs = (v); } while (0)
-#  define task_user_gs(tsk)		(task_pt_regs(tsk)->gs)
-#  define lazy_save_gs(v)		do { } while (0)
-#  define lazy_load_gs(v)		do { } while (0)
-# endif	/* X86_32_LAZY_GS */
+# define get_user_gs(regs)		(u16)({ unsigned long v; savesegment(gs, v); v; })
+# define set_user_gs(regs, v)		loadsegment(gs, (unsigned long)(v))
+# define task_user_gs(tsk)		((tsk)->thread.gs)
+# define lazy_save_gs(v)		savesegment(gs, (v))
+# define lazy_load_gs(v)		loadsegment(gs, (v))
+# define load_gs_index(v)		loadsegment(gs, (v))
 #endif	/* X86_32 */
 
 #endif /* !__ASSEMBLY__ */
diff --git a/arch/x86/include/asm/stackprotector.h b/arch/x86/include/asm/stackprotector.h
index 7fb482f0f25b0..b6ffe58c70fab 100644
--- a/arch/x86/include/asm/stackprotector.h
+++ b/arch/x86/include/asm/stackprotector.h
@@ -5,30 +5,23 @@
  * Stack protector works by putting predefined pattern at the start of
  * the stack frame and verifying that it hasn't been overwritten when
  * returning from the function.  The pattern is called stack canary
- * and unfortunately gcc requires it to be at a fixed offset from %gs.
- * On x86_64, the offset is 40 bytes and on x86_32 20 bytes.  x86_64
- * and x86_32 use segment registers differently and thus handles this
- * requirement differently.
+ * and unfortunately gcc historically required it to be at a fixed offset
+ * from the percpu segment base.  On x86_64, the offset is 40 bytes.
  *
- * On x86_64, %gs is shared by percpu area and stack canary.  All
- * percpu symbols are zero based and %gs points to the base of percpu
- * area.  The first occupant of the percpu area is always
- * fixed_percpu_data which contains stack_canary at offset 40.  Userland
- * %gs is always saved and restored on kernel entry and exit using
- * swapgs, so stack protector doesn't add any complexity there.
+ * The same segment is shared by percpu area and stack canary.  On
+ * x86_64, percpu symbols are zero based and %gs (64-bit) points to the
+ * base of percpu area.  The first occupant of the percpu area is always
+ * fixed_percpu_data which contains stack_canary at the approproate
+ * offset.  On x86_32, the stack canary is just a regular percpu
+ * variable.
  *
- * On x86_32, it's slightly more complicated.  As in x86_64, %gs is
- * used for userland TLS.  Unfortunately, some processors are much
- * slower at loading segment registers with different value when
- * entering and leaving the kernel, so the kernel uses %fs for percpu
- * area and manages %gs lazily so that %gs is switched only when
- * necessary, usually during task switch.
+ * Putting percpu data in %fs on 32-bit is a minor optimization compared to
+ * using %gs.  Since 32-bit userspace normally has %fs == 0, we are likely
+ * to load 0 into %fs on exit to usermode, whereas with percpu data in
+ * %gs, we are likely to load a non-null %gs on return to user mode.
  *
- * As gcc requires the stack canary at %gs:20, %gs can't be managed
- * lazily if stack protector is enabled, so the kernel saves and
- * restores userland %gs on kernel entry and exit.  This behavior is
- * controlled by CONFIG_X86_32_LAZY_GS and accessors are defined in
- * system.h to hide the details.
+ * Once we are willing to require GCC 8.1 or better for 64-bit stackprotector
+ * support, we can remove some of this complexity.
  */
 
 #ifndef _ASM_STACKPROTECTOR_H
@@ -44,14 +37,6 @@
 #include <linux/random.h>
 #include <linux/sched.h>
 
-/*
- * 24 byte read-only segment initializer for stack canary.  Linker
- * can't handle the address bit shifting.  Address will be set in
- * head_32 for boot CPU and setup_per_cpu_areas() for others.
- */
-#define GDT_STACK_CANARY_INIT						\
-	[GDT_ENTRY_STACK_CANARY] = GDT_ENTRY_INIT(0x4090, 0, 0x18),
-
 /*
  * Initialize the stackprotector canary value.
  *
@@ -86,7 +71,7 @@ static __always_inline void boot_init_stack_canary(void)
 #ifdef CONFIG_X86_64
 	this_cpu_write(fixed_percpu_data.stack_canary, canary);
 #else
-	this_cpu_write(stack_canary.canary, canary);
+	this_cpu_write(__stack_chk_guard, canary);
 #endif
 }
 
@@ -95,48 +80,16 @@ static inline void cpu_init_stack_canary(int cpu, struct task_struct *idle)
 #ifdef CONFIG_X86_64
 	per_cpu(fixed_percpu_data.stack_canary, cpu) = idle->stack_canary;
 #else
-	per_cpu(stack_canary.canary, cpu) = idle->stack_canary;
-#endif
-}
-
-static inline void setup_stack_canary_segment(int cpu)
-{
-#ifdef CONFIG_X86_32
-	unsigned long canary = (unsigned long)&per_cpu(stack_canary, cpu);
-	struct desc_struct *gdt_table = get_cpu_gdt_rw(cpu);
-	struct desc_struct desc;
-
-	desc = gdt_table[GDT_ENTRY_STACK_CANARY];
-	set_desc_base(&desc, canary);
-	write_gdt_entry(gdt_table, GDT_ENTRY_STACK_CANARY, &desc, DESCTYPE_S);
-#endif
-}
-
-static inline void load_stack_canary_segment(void)
-{
-#ifdef CONFIG_X86_32
-	asm("mov %0, %%gs" : : "r" (__KERNEL_STACK_CANARY) : "memory");
+	per_cpu(__stack_chk_guard, cpu) = idle->stack_canary;
 #endif
 }
 
 #else	/* STACKPROTECTOR */
 
-#define GDT_STACK_CANARY_INIT
-
 /* dummy boot_init_stack_canary() is defined in linux/stackprotector.h */
 
-static inline void setup_stack_canary_segment(int cpu)
-{ }
-
 static inline void cpu_init_stack_canary(int cpu, struct task_struct *idle)
 { }
 
-static inline void load_stack_canary_segment(void)
-{
-#ifdef CONFIG_X86_32
-	asm volatile ("mov %0, %%gs" : : "r" (0));
-#endif
-}
-
 #endif	/* STACKPROTECTOR */
 #endif	/* _ASM_STACKPROTECTOR_H */
diff --git a/arch/x86/include/asm/suspend_32.h b/arch/x86/include/asm/suspend_32.h
index 3b97aa9215430..a800abb1a9925 100644
--- a/arch/x86/include/asm/suspend_32.h
+++ b/arch/x86/include/asm/suspend_32.h
@@ -13,12 +13,10 @@
 /* image of the saved processor state */
 struct saved_context {
 	/*
-	 * On x86_32, all segment registers, with the possible exception of
-	 * gs, are saved at kernel entry in pt_regs.
+	 * On x86_32, all segment registers except gs are saved at kernel
+	 * entry in pt_regs.
 	 */
-#ifdef CONFIG_X86_32_LAZY_GS
 	u16 gs;
-#endif
 	unsigned long cr0, cr2, cr3, cr4;
 	u64 misc_enable;
 	struct saved_msrs saved_msrs;
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c
index 6e043f295a605..2b411cd00a4e2 100644
--- a/arch/x86/kernel/asm-offsets_32.c
+++ b/arch/x86/kernel/asm-offsets_32.c
@@ -53,11 +53,6 @@ void foo(void)
 	       offsetof(struct cpu_entry_area, tss.x86_tss.sp1) -
 	       offsetofend(struct cpu_entry_area, entry_stack_page.stack));
 
-#ifdef CONFIG_STACKPROTECTOR
-	BLANK();
-	OFFSET(stack_canary_offset, stack_canary, canary);
-#endif
-
 	BLANK();
 	DEFINE(EFI_svam, offsetof(efi_runtime_services_t, set_virtual_address_map));
 }
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 0c72ff732aa08..33002cb5a1c62 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -166,7 +166,6 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page) = { .gdt = {
 
 	[GDT_ENTRY_ESPFIX_SS]		= GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
 	[GDT_ENTRY_PERCPU]		= GDT_ENTRY_INIT(0xc092, 0, 0xfffff),
-	GDT_STACK_CANARY_INIT
 #endif
 } };
 EXPORT_PER_CPU_SYMBOL_GPL(gdt_page);
@@ -600,7 +599,6 @@ void load_percpu_segment(int cpu)
 	__loadsegment_simple(gs, 0);
 	wrmsrl(MSR_GS_BASE, cpu_kernelmode_gs_base(cpu));
 #endif
-	load_stack_canary_segment();
 }
 
 #ifdef CONFIG_X86_32
@@ -1940,7 +1938,8 @@ DEFINE_PER_CPU(unsigned long, cpu_current_top_of_stack) =
 EXPORT_PER_CPU_SYMBOL(cpu_current_top_of_stack);
 
 #ifdef CONFIG_STACKPROTECTOR
-DEFINE_PER_CPU_ALIGNED(struct stack_canary, stack_canary);
+DEFINE_PER_CPU(unsigned long, __stack_chk_guard);
+EXPORT_PER_CPU_SYMBOL(__stack_chk_guard);
 #endif
 
 #endif	/* CONFIG_X86_64 */
diff --git a/arch/x86/kernel/doublefault_32.c b/arch/x86/kernel/doublefault_32.c
index 759d392cbe9f0..d1d49e3d536b8 100644
--- a/arch/x86/kernel/doublefault_32.c
+++ b/arch/x86/kernel/doublefault_32.c
@@ -100,9 +100,7 @@ DEFINE_PER_CPU_PAGE_ALIGNED(struct doublefault_stack, doublefault_stack) = {
 		.ss		= __KERNEL_DS,
 		.ds		= __USER_DS,
 		.fs		= __KERNEL_PERCPU,
-#ifndef CONFIG_X86_32_LAZY_GS
-		.gs		= __KERNEL_STACK_CANARY,
-#endif
+		.gs		= 0,
 
 		.__cr3		= __pa_nodebug(swapper_pg_dir),
 	},
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 3f1691b89231f..0359333f6bdee 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -319,8 +319,8 @@ SYM_FUNC_START(startup_32_smp)
 	movl $(__KERNEL_PERCPU), %eax
 	movl %eax,%fs			# set this cpu's percpu
 
-	movl $(__KERNEL_STACK_CANARY),%eax
-	movl %eax,%gs
+	xorl %eax,%eax
+	movl %eax,%gs			# clear possible garbage in %gs
 
 	xorl %eax,%eax			# Clear LDT
 	lldt %ax
@@ -340,20 +340,6 @@ SYM_FUNC_END(startup_32_smp)
  */
 __INIT
 setup_once:
-#ifdef CONFIG_STACKPROTECTOR
-	/*
-	 * Configure the stack canary. The linker can't handle this by
-	 * relocation.  Manually set base address in stack canary
-	 * segment descriptor.
-	 */
-	movl $gdt_page,%eax
-	movl $stack_canary,%ecx
-	movw %cx, 8 * GDT_ENTRY_STACK_CANARY + 2(%eax)
-	shrl $16, %ecx
-	movb %cl, 8 * GDT_ENTRY_STACK_CANARY + 4(%eax)
-	movb %ch, 8 * GDT_ENTRY_STACK_CANARY + 7(%eax)
-#endif
-
 	andl $0,setup_once_ref	/* Once is enough, thanks */
 	RET
 
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
index fd945ce78554e..0941d2f44f2a2 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -224,7 +224,6 @@ void __init setup_per_cpu_areas(void)
 		per_cpu(this_cpu_off, cpu) = per_cpu_offset(cpu);
 		per_cpu(cpu_number, cpu) = cpu;
 		setup_percpu_segment(cpu);
-		setup_stack_canary_segment(cpu);
 		/*
 		 * Copy data used in early init routines from the
 		 * initial arrays to the per cpu data areas.  These
diff --git a/arch/x86/kernel/tls.c b/arch/x86/kernel/tls.c
index 64a496a0687f6..3c883e0642424 100644
--- a/arch/x86/kernel/tls.c
+++ b/arch/x86/kernel/tls.c
@@ -164,17 +164,11 @@ int do_set_thread_area(struct task_struct *p, int idx,
 		savesegment(fs, sel);
 		if (sel == modified_sel)
 			loadsegment(fs, sel);
-
-		savesegment(gs, sel);
-		if (sel == modified_sel)
-			load_gs_index(sel);
 #endif
 
-#ifdef CONFIG_X86_32_LAZY_GS
 		savesegment(gs, sel);
 		if (sel == modified_sel)
-			loadsegment(gs, sel);
-#endif
+			load_gs_index(sel);
 	} else {
 #ifdef CONFIG_X86_64
 		if (p->thread.fsindex == modified_sel)
diff --git a/arch/x86/lib/insn-eval.c b/arch/x86/lib/insn-eval.c
index ffc8b7dcf1feb..6ed542e310adc 100644
--- a/arch/x86/lib/insn-eval.c
+++ b/arch/x86/lib/insn-eval.c
@@ -404,10 +404,6 @@ static short get_segment_selector(struct pt_regs *regs, int seg_reg_idx)
 	case INAT_SEG_REG_FS:
 		return (unsigned short)(regs->fs & 0xffff);
 	case INAT_SEG_REG_GS:
-		/*
-		 * GS may or may not be in regs as per CONFIG_X86_32_LAZY_GS.
-		 * The macro below takes care of both cases.
-		 */
 		return get_user_gs(regs);
 	case INAT_SEG_REG_IGNORE:
 	default:
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 43b4d864817ec..afbf0bb252da5 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -45,10 +45,8 @@
 
 #define PVH_GDT_ENTRY_CS	1
 #define PVH_GDT_ENTRY_DS	2
-#define PVH_GDT_ENTRY_CANARY	3
 #define PVH_CS_SEL		(PVH_GDT_ENTRY_CS * 8)
 #define PVH_DS_SEL		(PVH_GDT_ENTRY_DS * 8)
-#define PVH_CANARY_SEL		(PVH_GDT_ENTRY_CANARY * 8)
 
 SYM_CODE_START_LOCAL(pvh_start_xen)
 	cld
@@ -109,17 +107,6 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 
 #else /* CONFIG_X86_64 */
 
-	/* Set base address in stack canary descriptor. */
-	movl $_pa(gdt_start),%eax
-	movl $_pa(canary),%ecx
-	movw %cx, (PVH_GDT_ENTRY_CANARY * 8) + 2(%eax)
-	shrl $16, %ecx
-	movb %cl, (PVH_GDT_ENTRY_CANARY * 8) + 4(%eax)
-	movb %ch, (PVH_GDT_ENTRY_CANARY * 8) + 7(%eax)
-
-	mov $PVH_CANARY_SEL,%eax
-	mov %eax,%gs
-
 	call mk_early_pgtbl_32
 
 	mov $_pa(initial_page_table), %eax
@@ -163,7 +150,6 @@ SYM_DATA_START_LOCAL(gdt_start)
 	.quad GDT_ENTRY(0xc09a, 0, 0xfffff) /* PVH_CS_SEL */
 #endif
 	.quad GDT_ENTRY(0xc092, 0, 0xfffff) /* PVH_DS_SEL */
-	.quad GDT_ENTRY(0x4090, 0, 0x18)    /* PVH_CANARY_SEL */
 SYM_DATA_END_LABEL(gdt_start, SYM_L_LOCAL, gdt_end)
 
 	.balign 16
diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
index 4e4e76ecd3ecd..84c7b2312ea9e 100644
--- a/arch/x86/power/cpu.c
+++ b/arch/x86/power/cpu.c
@@ -101,11 +101,8 @@ static void __save_processor_state(struct saved_context *ctxt)
 	/*
 	 * segment registers
 	 */
-#ifdef CONFIG_X86_32_LAZY_GS
 	savesegment(gs, ctxt->gs);
-#endif
 #ifdef CONFIG_X86_64
-	savesegment(gs, ctxt->gs);
 	savesegment(fs, ctxt->fs);
 	savesegment(ds, ctxt->ds);
 	savesegment(es, ctxt->es);
@@ -234,7 +231,6 @@ static void notrace __restore_processor_state(struct saved_context *ctxt)
 	wrmsrl(MSR_GS_BASE, ctxt->kernelmode_gs_base);
 #else
 	loadsegment(fs, __KERNEL_PERCPU);
-	loadsegment(gs, __KERNEL_STACK_CANARY);
 #endif
 
 	/* Restore the TSS, RO GDT, LDT, and usermode-relevant MSRs. */
@@ -257,7 +253,7 @@ static void notrace __restore_processor_state(struct saved_context *ctxt)
 	 */
 	wrmsrl(MSR_FS_BASE, ctxt->fs_base);
 	wrmsrl(MSR_KERNEL_GS_BASE, ctxt->usermode_gs_base);
-#elif defined(CONFIG_X86_32_LAZY_GS)
+#else
 	loadsegment(gs, ctxt->gs);
 #endif
 
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 815030b7f6fa8..94804670caab8 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1193,7 +1193,6 @@ static void __init xen_setup_gdt(int cpu)
 	pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry_boot;
 	pv_ops.cpu.load_gdt = xen_load_gdt_boot;
 
-	setup_stack_canary_segment(cpu);
 	switch_to_new_gdt(cpu);
 
 	pv_ops.cpu.write_gdt_entry = xen_write_gdt_entry;
diff --git a/scripts/gcc-x86_32-has-stack-protector.sh b/scripts/gcc-x86_32-has-stack-protector.sh
index f5c1194952540..825c75c5b7150 100755
--- a/scripts/gcc-x86_32-has-stack-protector.sh
+++ b/scripts/gcc-x86_32-has-stack-protector.sh
@@ -1,4 +1,8 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
 
-echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -m32 -O0 -fstack-protector - -o - 2> /dev/null | grep -q "%gs"
+# This requires GCC 8.1 or better.  Specifically, we require
+# -mstack-protector-guard-reg, added by
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81708
+
+echo "int foo(void) { char X[200]; return 3; }" | $* -S -x c -c -m32 -O0 -fstack-protector -mstack-protector-guard-reg=fs -mstack-protector-guard-symbol=__stack_chk_guard - -o - 2> /dev/null | grep -q "%fs"
-- 
2.43.0




  parent reply	other threads:[~2024-04-11 10:35 UTC|newest]

Thread overview: 307+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-11  9:52 [PATCH 5.10 000/294] 5.10.215-rc1 review Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 001/294] Documentation/hw-vuln: Update spectre doc Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 002/294] x86/cpu: Support AMD Automatic IBRS Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 003/294] x86/bugs: Use sysfs_emit() Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 004/294] timers: Update kernel-doc for various functions Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 005/294] timers: Use del_timer_sync() even on UP Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 006/294] timers: Rename del_timer_sync() to timer_delete_sync() Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 007/294] wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 008/294] media: staging: ipu3-imgu: Set fields before media_entity_pads_init() Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 009/294] clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 010/294] smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr() Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 011/294] smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity() Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 012/294] arm: dts: marvell: Fix maxium->maxim typo in brownstone dts Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 013/294] drm/vmwgfx: stop using ttm_bo_create v2 Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 014/294] drm/vmwgfx: switch over to the new pin interface v2 Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 015/294] drm/vmwgfx/vmwgfx_cmdbuf_res: Remove unused variable ret Greg Kroah-Hartman
2024-04-11  9:52 ` [PATCH 5.10 016/294] drm/vmwgfx: Fix some static checker warnings Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 017/294] drm/vmwgfx: Fix possible null pointer derefence with invalid contexts Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 018/294] serial: max310x: fix NULL pointer dereference in I2C instantiation Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 019/294] media: xc4000: Fix atomicity violation in xc4000_get_frequency Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 020/294] KVM: Always flush async #PF workqueue when vCPU is being destroyed Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 021/294] sparc64: NMI watchdog: fix return value of __setup handler Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 022/294] sparc: vDSO: " Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 023/294] crypto: qat - fix double free during reset Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 024/294] crypto: qat - resolve race condition during AER recovery Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 025/294] selftests/mqueue: Set timeout to 180 seconds Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 026/294] ext4: correct best extent lstart adjustment logic Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 027/294] block: introduce zone_write_granularity limit Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 028/294] block: Clear zone limits for a non-zoned stacked queue Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 029/294] bounds: support non-power-of-two CONFIG_NR_CPUS Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 030/294] fat: fix uninitialized field in nostale filehandles Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 031/294] ubifs: Set page uptodate in the correct place Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 032/294] ubi: Check for too small LEB size in VTBL code Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 033/294] ubi: correct the calculation of fastmap size Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 034/294] mtd: rawnand: meson: fix scrambling mode value in command macro Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 035/294] parisc: Avoid clobbering the C/B bits in the PSW with tophys and tovirt macros Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 036/294] parisc: Fix ip_fast_csum Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 037/294] parisc: Fix csum_ipv6_magic on 32-bit systems Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 038/294] parisc: Fix csum_ipv6_magic on 64-bit systems Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 039/294] parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 040/294] PM: suspend: Set mem_sleep_current during kernel command line setup Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 041/294] clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 042/294] clk: qcom: gcc-ipq8074: " Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 043/294] clk: qcom: mmcc-apq8084: " Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 044/294] clk: qcom: mmcc-msm8974: " Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 045/294] powerpc/fsl: Fix mfpmr build errors with newer binutils Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 046/294] USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 047/294] USB: serial: add device ID for VeriFone adapter Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 048/294] USB: serial: cp210x: add ID for MGP Instruments PDS100 Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 049/294] USB: serial: option: add MeiG Smart SLM320 product Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 050/294] USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 051/294] PM: sleep: wakeirq: fix wake irq warning in system suspend Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 052/294] mmc: tmio: avoid concurrent runs of mmc_request_done() Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 053/294] fuse: fix root lookup with nonzero generation Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 054/294] fuse: dont unhash root Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 055/294] usb: typec: ucsi: Clean up UCSI_CABLE_PROP macros Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 056/294] printk/console: Split out code that enables default console Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 057/294] serial: Lock console when calling into driver before registration Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 058/294] btrfs: fix off-by-one chunk length calculation at contains_pending_extent() Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 059/294] PCI: Drop pci_device_remove() test of pci_dev->driver Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 060/294] PCI/PM: Drain runtime-idle callbacks before driver removal Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 061/294] PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities() Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 062/294] PCI: Cache PCIe Device Capabilities register Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 063/294] PCI: Work around Intel I210 ROM BAR overlap defect Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 064/294] PCI/ASPM: Make Intel DG2 L1 acceptable latency unlimited Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 065/294] PCI/DPC: Quirk PIO log size for certain Intel Root Ports Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 066/294] PCI/DPC: Quirk PIO log size for Intel Raptor Lake " Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 067/294] Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 068/294] dm-raid: fix lockdep waring in "pers->hot_add_disk" Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 069/294] mac802154: fix llsec key resources release in mac802154_llsec_key_del Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 070/294] mm: swap: fix race between free_swap_and_cache() and swapoff() Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 071/294] mmc: core: Fix switch on gp3 partition Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 072/294] drm/etnaviv: Restore some id values Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 073/294] hwmon: (amc6821) add of_match table Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 074/294] ext4: fix corruption during on-line resize Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 075/294] nvmem: meson-efuse: fix function pointer type mismatch Greg Kroah-Hartman
2024-04-11  9:53 ` [PATCH 5.10 076/294] slimbus: core: Remove usage of the deprecated ida_simple_xx() API Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 077/294] phy: tegra: xusb: Add API to retrieve the port number of phy Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 078/294] usb: gadget: tegra-xudc: Use dev_err_probe() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 079/294] usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 080/294] speakup: Fix 8bit characters from direct synth Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 081/294] PCI/ERR: Clear AER status only when we control AER Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 082/294] PCI/AER: Block runtime suspend when handling errors Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 083/294] nfs: fix UAF in direct writes Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 084/294] kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1 Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 085/294] PCI: dwc: endpoint: Fix advertised resizable BAR size Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 086/294] vfio/platform: Disable virqfds on cleanup Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 087/294] ring-buffer: Fix waking up ring buffer readers Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 088/294] ring-buffer: Do not set shortest_full when full target is hit Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 089/294] ring-buffer: Fix resetting of shortest_full Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 090/294] ring-buffer: Fix full_waiters_pending in poll Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 091/294] soc: fsl: qbman: Always disable interrupts when taking cgr_lock Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 092/294] soc: fsl: qbman: Add helper for sanity checking cgr ops Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 093/294] soc: fsl: qbman: Add CGR update function Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 094/294] soc: fsl: qbman: Use raw spinlock for cgr_lock Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 095/294] s390/zcrypt: fix reference counting on zcrypt card objects Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 096/294] drm/panel: do not return negative error codes from drm_panel_get_modes() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 097/294] drm/exynos: do not return negative values from .get_modes() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 098/294] drm/imx/ipuv3: " Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 099/294] drm/vc4: hdmi: " Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 100/294] memtest: use {READ,WRITE}_ONCE in memory scanning Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 101/294] nilfs2: fix failure to detect DAT corruption in btree and direct mappings Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 102/294] nilfs2: prevent kernel bug at submit_bh_wbc() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 103/294] cpufreq: dt: always allocate zeroed cpumask Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 104/294] x86/CPU/AMD: Update the Zenbleed microcode revisions Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 105/294] net: hns3: tracing: fix hclgevf trace event strings Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 106/294] wireguard: netlink: check for dangling peer via is_dead instead of empty list Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 107/294] wireguard: netlink: access device through ctx instead of peer Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 108/294] ahci: asm1064: correct count of reported ports Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 109/294] ahci: asm1064: asm1166: dont limit " Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 110/294] drm/amd/display: Return the correct HDCP error code Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 111/294] drm/amd/display: Fix noise issue on HDMI AV mute Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 112/294] dm snapshot: fix lockup in dm_exception_table_exit Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 113/294] vxge: remove unnecessary cast in kfree() Greg Kroah-Hartman
2024-04-11  9:54 ` Greg Kroah-Hartman [this message]
2024-04-11  9:54 ` [PATCH 5.10 115/294] x86/pm: Work around false positive kmemleak report in msr_build_context() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 116/294] scripts: kernel-doc: Fix syntax error due to undeclared args variable Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 117/294] comedi: comedi_test: Prevent timers rescheduling during deletion Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 118/294] cpufreq: brcmstb-avs-cpufreq: fix up "add check for cpufreq_cpu_gets return value" Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 119/294] netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 120/294] netfilter: nf_tables: disallow anonymous set with timeout flag Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 121/294] netfilter: nf_tables: reject constant set with timeout Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 122/294] Drivers: hv: vmbus: Calculate ring buffer size for more efficient use of memory Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 123/294] xfrm: Avoid clang fortify warning in copy_to_user_tmpl() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 124/294] KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region() Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 125/294] ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 126/294] USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 127/294] usb: gadget: ncm: Fix handling of zero block length packets Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 128/294] usb: port: Dont try to peer unused USB ports based on location Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 129/294] tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 130/294] mei: me: add arrow lake point S DID Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 131/294] mei: me: add arrow lake point H DID Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 132/294] vt: fix unicode buffer corruption when deleting characters Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 133/294] fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 134/294] tee: optee: Fix kernel panic caused by incorrect error handling Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 135/294] xen/events: close evtchn after mapping cleanup Greg Kroah-Hartman
2024-04-11  9:54 ` [PATCH 5.10 136/294] printk: Update @console_may_schedule in console_trylock_spinning() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 137/294] btrfs: allocate btrfs_ioctl_defrag_range_args on stack Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 138/294] x86/asm: Add _ASM_RIP() macro for x86-64 (%rip) suffix Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 139/294] x86/bugs: Add asm helpers for executing VERW Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 140/294] x86/entry_64: Add VERW just before userspace transition Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 141/294] x86/entry_32: " Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 142/294] x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 143/294] KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 144/294] KVM/VMX: Move VERW closer to VMentry for MDS mitigation Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 145/294] x86/mmio: Disable KVM mitigation when X86_FEATURE_CLEAR_CPU_BUF is set Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 146/294] Documentation/hw-vuln: Add documentation for RFDS Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 147/294] x86/rfds: Mitigate Register File Data Sampling (RFDS) Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 148/294] KVM/x86: Export RFDS_NO and RFDS_CLEAR to guests Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 149/294] perf/core: Fix reentry problem in perf_output_read_group() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 150/294] efivarfs: Request at most 512 bytes for variable names Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 151/294] powerpc: xor_vmx: Add -mhard-float to CFLAGS Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 152/294] serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 153/294] mm/memory-failure: fix an incorrect use of tail pages Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 154/294] mm/migrate: set swap entry values of THP tail pages properly Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 155/294] init: open /initrd.image with O_LARGEFILE Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 156/294] wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 157/294] exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 158/294] hexagon: vmlinux.lds.S: handle attributes section Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 159/294] mmc: core: Initialize mmc_blk_ioc_data Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 160/294] mmc: core: Avoid negative index with array access Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 161/294] net: ll_temac: platform_get_resource replaced by wrong function Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 162/294] usb: cdc-wdm: close race between read and workqueue Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 163/294] ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 164/294] scsi: core: Fix unremoved procfs host directory regression Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 165/294] staging: vc04_services: changen strncpy() to strscpy_pad() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 166/294] staging: vc04_services: fix information leak in create_component() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 167/294] USB: core: Add hub_get() and hub_put() routines Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 168/294] usb: dwc2: host: Fix remote wakeup from hibernation Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 169/294] usb: dwc2: host: Fix hibernation flow Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 170/294] usb: dwc2: host: Fix ISOC flow in DDMA mode Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 171/294] usb: dwc2: gadget: LPM flow fix Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 172/294] usb: udc: remove warning when queue disabled ep Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 173/294] usb: typec: ucsi: Ack unsupported commands Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 174/294] usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 175/294] scsi: qla2xxx: Split FCE|EFT trace control Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 176/294] scsi: qla2xxx: Fix command flush on cable pull Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 177/294] scsi: qla2xxx: Delay I/O Abort on PCI error Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 178/294] x86/cpu: Enable STIBP on AMD if Automatic IBRS is enabled Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 179/294] PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 180/294] scsi: lpfc: Correct size for wqe for memset() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 181/294] USB: core: Fix deadlock in usb_deauthorize_interface() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 182/294] nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 183/294] ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 184/294] tcp: properly terminate timers for kernel sockets Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 185/294] ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields() Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 186/294] bpf: Protect against int overflow for stack access size Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 187/294] Octeontx2-af: fix pause frame configuration in GMP mode Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 188/294] dm integrity: fix out-of-range warning Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 189/294] r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 190/294] x86/cpufeatures: Add new word for scattered features Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 191/294] Bluetooth: hci_event: set the conn encrypted before conn establishes Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 192/294] Bluetooth: Fix TOCTOU in HCI debugfs implementation Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 193/294] netfilter: nf_tables: disallow timeout for anonymous sets Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 194/294] net/rds: fix possible cp null dereference Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 195/294] vfio/pci: Disable auto-enable of exclusive INTx IRQ Greg Kroah-Hartman
2024-04-11  9:55 ` [PATCH 5.10 196/294] vfio/pci: Lock external INTx masking ops Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 197/294] vfio: Introduce interface to flush virqfd inject workqueue Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 198/294] vfio/pci: Create persistent INTx handler Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 199/294] vfio/platform: Create persistent IRQ handlers Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 200/294] vfio/fsl-mc: Block calling interrupt handler without trigger Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 201/294] io_uring: ensure 0 is returned on file registration success Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 202/294] Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped." Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 203/294] mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 204/294] x86/srso: Add SRSO mitigation for Hygon processors Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 205/294] block: add check that partition length needs to be aligned with block size Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 206/294] netfilter: nf_tables: reject new basechain after table flag update Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 207/294] netfilter: nf_tables: flush pending destroy work before exit_net release Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 208/294] netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 209/294] netfilter: validate user input for expected length Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 210/294] vboxsf: Avoid an spurious warning if load_nls_xxx() fails Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 211/294] bpf, sockmap: Prevent lock inversion deadlock in map delete elem Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 212/294] net/sched: act_skbmod: prevent kernel-infoleak Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 213/294] net: stmmac: fix rx queue priority assignment Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 214/294] erspan: make sure erspan_base_hdr is present in skb->head Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 215/294] selftests: reuseaddr_conflict: add missing new line at the end of the output Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 216/294] ipv6: Fix infinite recursion in fib6_dump_done() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 217/294] udp: do not transition UDP GRO fraglist partial checksums to unnecessary Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 218/294] octeontx2-pf: check negative error code in otx2_open() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 219/294] i40e: fix i40e_count_filters() to count only active/new filters Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 220/294] i40e: fix vf may be used uninitialized in this function warning Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 221/294] scsi: qla2xxx: Update manufacturer details Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 222/294] scsi: qla2xxx: Update manufacturer detail Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 223/294] Revert "usb: phy: generic: Get the vbus supply" Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 224/294] udp: do not accept non-tunnel GSO skbs landing in a tunnel Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 225/294] net: ravb: Always process TX descriptor ring Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 226/294] arm64: dts: qcom: sc7180: Remove clock for bluetooth on Trogdor Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 227/294] arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 228/294] ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 229/294] ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 230/294] scsi: mylex: Fix sysfs buffer lengths Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 231/294] ata: sata_mv: Fix PCI device ID table declaration compilation warning Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 232/294] ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 233/294] driver core: Introduce device_link_wait_removal() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 234/294] of: dynamic: Synchronize of_changeset_destroy() with the devlink removals Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 235/294] x86/mce: Make sure to grab mce_sysfs_mutex in set_bank() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 236/294] s390/entry: align system call table on 8 bytes Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 237/294] riscv: Fix spurious errors from __get/put_kernel_nofault Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 238/294] x86/bugs: Fix the SRSO mitigation on Zen3/4 Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 239/294] x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 240/294] mptcp: dont account accept() of non-MPC client as fallback to TCP Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 241/294] x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 242/294] objtool: Add asm version of STACK_FRAME_NON_STANDARD Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 243/294] wifi: ath9k: fix LNA selection in ath_ant_try_scan() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 244/294] batman-adv: Return directly after a failed batadv_dat_select_candidates() in batadv_dat_forward_data() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 245/294] batman-adv: Improve exception handling in batadv_throw_uevent() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 246/294] VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 247/294] panic: Flush kernel log buffer at the end Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 248/294] arm64: dts: rockchip: fix rk3328 hdmi ports node Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 249/294] arm64: dts: rockchip: fix rk3399 " Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 250/294] ionic: set adminq irq affinity Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 251/294] pstore/zone: Add a null pointer check to the psz_kmsg_read Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 252/294] tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 253/294] btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 254/294] btrfs: export: handle invalid inode or root reference in btrfs_get_parent() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 255/294] btrfs: send: handle path ref underflow in header iterate_inode_ref() Greg Kroah-Hartman
2024-04-11  9:56 ` [PATCH 5.10 256/294] net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list() Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 257/294] Bluetooth: btintel: Fix null ptr deref in btintel_read_version Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 258/294] Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 259/294] pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 260/294] sysv: dont call sb_bread() with pointers_lock held Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 261/294] scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc() Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 262/294] isofs: handle CDs with bad root inode but good Joliet root directory Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 263/294] media: sta2x11: fix irq handler cast Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 264/294] ext4: add a hint for block bitmap corrupt state in mb_groups Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 265/294] ext4: forbid commit inconsistent quota data when errors=remount-ro Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 266/294] drm/amd/display: Fix nanosec stat overflow Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 267/294] SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 268/294] Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default" Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 269/294] libperf evlist: Avoid out-of-bounds access Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 270/294] block: prevent division by zero in blk_rq_stat_sum() Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 271/294] RDMA/cm: add timeout to cm_destroy_id wait Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 272/294] Input: allocate keycode for Display refresh rate toggle Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 273/294] platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 274/294] ktest: force $buildonly = 1 for make_warnings_file test type Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 275/294] ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 276/294] tools: iio: replace seekdir() in iio_generic_buffer Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 277/294] usb: typec: tcpci: add generic tcpci fallback compatible Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 278/294] usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 279/294] fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2 Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 280/294] drivers/nvme: Add quirks for device 126f:2262 Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 281/294] fbmon: prevent division by zero in fb_videomode_from_videomode() Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 282/294] netfilter: nf_tables: release batch on table validation from abort path Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 283/294] netfilter: nf_tables: release mutex after nft_gc_seq_end " Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 284/294] netfilter: nf_tables: discard table flag update with pending basechain deletion Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 285/294] tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 286/294] virtio: reenable config if freezing device failed Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 287/294] x86/mm/pat: fix VM_PAT handling in COW mappings Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 288/294] drm/i915/gt: Reset queue_priority_hint on parking Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 289/294] Bluetooth: btintel: Fixe build regression Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 290/294] VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler() Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 291/294] kbuild: dummy-tools: adjust to stricter stackprotector check Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 292/294] scsi: sd: Fix wrong zone_write_granularity value during revalidate Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 293/294] x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk Greg Kroah-Hartman
2024-04-11  9:57 ` [PATCH 5.10 294/294] x86/head/64: Re-enable stack protection Greg Kroah-Hartman
2024-04-11 12:02 ` [PATCH 5.10 000/294] 5.10.215-rc1 review Pavel Machek
2024-04-11 21:26 ` Florian Fainelli
2024-04-12  4:49 ` Dominique Martinet
2024-04-12  8:03 ` Jon Hunter
2024-04-12 15:50 ` Naresh Kamboju
2024-04-13 14:11 ` Guenter Roeck
2024-04-14  6:09   ` Greg Kroah-Hartman
2024-04-14 21:18     ` Guenter Roeck
2024-04-15  5:53       ` Greg Kroah-Hartman
2024-04-17 12:59 ` Pavel Machek
2024-04-17 13:28   ` Greg Kroah-Hartman
2024-04-19  2:05     ` Dominique Martinet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240411095439.101219687@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bp@suse.de \
    --cc=luto@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).