All the mail mirrored from lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.