From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
"Eric W. Biederman" <ebiederm@xmission.com>,
Eric Biggers <ebiggers@google.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 084/143] exit: Add and use make_task_dead.
Date: Mon, 30 Jan 2023 14:52:21 +0100 [thread overview]
Message-ID: <20230130134310.372430950@linuxfoundation.org> (raw)
In-Reply-To: <20230130134306.862721518@linuxfoundation.org>
From: Eric W. Biederman <ebiederm@xmission.com>
commit 0e25498f8cd43c1b5aa327f373dd094e9a006da7 upstream.
There are two big uses of do_exit. The first is it's design use to be
the guts of the exit(2) system call. The second use is to terminate
a task after something catastrophic has happened like a NULL pointer
in kernel code.
Add a function make_task_dead that is initialy exactly the same as
do_exit to cover the cases where do_exit is called to handle
catastrophic failure. In time this can probably be reduced to just a
light wrapper around do_task_dead. For now keep it exactly the same so
that there will be no behavioral differences introducing this new
concept.
Replace all of the uses of do_exit that use it for catastraphic
task cleanup with make_task_dead to make it clear what the code
is doing.
As part of this rename rewind_stack_do_exit
rewind_stack_and_make_dead.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/alpha/kernel/traps.c | 6 +++---
arch/alpha/mm/fault.c | 2 +-
arch/arm/kernel/traps.c | 2 +-
arch/arm/mm/fault.c | 2 +-
arch/arm64/kernel/traps.c | 2 +-
arch/arm64/mm/fault.c | 2 +-
arch/csky/abiv1/alignment.c | 2 +-
arch/csky/kernel/traps.c | 2 +-
arch/h8300/kernel/traps.c | 2 +-
arch/h8300/mm/fault.c | 2 +-
arch/hexagon/kernel/traps.c | 2 +-
arch/ia64/kernel/mca_drv.c | 2 +-
arch/ia64/kernel/traps.c | 2 +-
arch/ia64/mm/fault.c | 2 +-
arch/m68k/kernel/traps.c | 2 +-
arch/m68k/mm/fault.c | 2 +-
arch/microblaze/kernel/exceptions.c | 4 ++--
arch/mips/kernel/traps.c | 2 +-
arch/nds32/kernel/fpu.c | 2 +-
arch/nds32/kernel/traps.c | 8 ++++----
arch/nios2/kernel/traps.c | 4 ++--
arch/openrisc/kernel/traps.c | 2 +-
arch/parisc/kernel/traps.c | 2 +-
arch/powerpc/kernel/traps.c | 2 +-
arch/riscv/kernel/traps.c | 2 +-
arch/riscv/mm/fault.c | 2 +-
arch/s390/kernel/dumpstack.c | 2 +-
arch/s390/kernel/nmi.c | 2 +-
arch/sh/kernel/traps.c | 2 +-
arch/sparc/kernel/traps_32.c | 4 +---
arch/sparc/kernel/traps_64.c | 4 +---
arch/x86/entry/entry_32.S | 6 +++---
arch/x86/entry/entry_64.S | 6 +++---
arch/x86/kernel/dumpstack.c | 4 ++--
arch/xtensa/kernel/traps.c | 2 +-
include/linux/sched/task.h | 1 +
kernel/exit.c | 9 +++++++++
tools/objtool/check.c | 3 ++-
38 files changed, 59 insertions(+), 52 deletions(-)
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c
index 921d4b6e4d95..8b0f81a58b94 100644
--- a/arch/alpha/kernel/traps.c
+++ b/arch/alpha/kernel/traps.c
@@ -192,7 +192,7 @@ die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15)
local_irq_enable();
while (1);
}
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
#ifndef CONFIG_MATHEMU
@@ -577,7 +577,7 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
printk("Bad unaligned kernel access at %016lx: %p %lx %lu\n",
pc, va, opcode, reg);
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
got_exception:
/* Ok, we caught the exception, but we don't want it. Is there
@@ -632,7 +632,7 @@ do_entUna(void * va, unsigned long opcode, unsigned long reg,
local_irq_enable();
while (1);
}
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
/*
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
index 09172f017efc..5d42f94887da 100644
--- a/arch/alpha/mm/fault.c
+++ b/arch/alpha/mm/fault.c
@@ -204,7 +204,7 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
printk(KERN_ALERT "Unable to handle kernel paging request at "
"virtual address %016lx\n", address);
die_if_kernel("Oops", regs, cause, (unsigned long*)regs - 16);
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
/* We ran out of memory, or some other thing happened to us that
made us unable to handle the page fault gracefully. */
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
index a531afad87fd..7878c33e188d 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -348,7 +348,7 @@ static void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
if (panic_on_oops)
panic("Fatal exception");
if (signr)
- do_exit(signr);
+ make_task_dead(signr);
}
/*
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index efa402025031..af5177801fb1 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -125,7 +125,7 @@ __do_kernel_fault(struct mm_struct *mm, unsigned long addr, unsigned int fsr,
show_pte(KERN_ALERT, mm, addr);
die("Oops", regs, fsr);
bust_spinlocks(0);
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
}
/*
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index 2059d8f43f55..2cdd53425509 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -144,7 +144,7 @@ void die(const char *str, struct pt_regs *regs, int err)
raw_spin_unlock_irqrestore(&die_lock, flags);
if (ret != NOTIFY_STOP)
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
static void arm64_show_signal(int signo, const char *str)
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 795d224f184f..2be856731e81 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -293,7 +293,7 @@ static void die_kernel_fault(const char *msg, unsigned long addr,
show_pte(addr);
die("Oops", regs, esr);
bust_spinlocks(0);
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
}
static void __do_kernel_fault(unsigned long addr, unsigned int esr,
diff --git a/arch/csky/abiv1/alignment.c b/arch/csky/abiv1/alignment.c
index cb2a0d94a144..5e2fb45d605c 100644
--- a/arch/csky/abiv1/alignment.c
+++ b/arch/csky/abiv1/alignment.c
@@ -294,7 +294,7 @@ void csky_alignment(struct pt_regs *regs)
__func__, opcode, rz, rx, imm, addr);
show_regs(regs);
bust_spinlocks(0);
- do_exit(SIGKILL);
+ make_dead_task(SIGKILL);
}
force_sig_fault(SIGBUS, BUS_ADRALN, (void __user *)addr);
diff --git a/arch/csky/kernel/traps.c b/arch/csky/kernel/traps.c
index 22721468a04b..3c648305f2c3 100644
--- a/arch/csky/kernel/traps.c
+++ b/arch/csky/kernel/traps.c
@@ -111,7 +111,7 @@ void die(struct pt_regs *regs, const char *str)
if (panic_on_oops)
panic("Fatal exception");
if (ret != NOTIFY_STOP)
- do_exit(SIGSEGV);
+ make_dead_task(SIGSEGV);
}
void do_trap(struct pt_regs *regs, int signo, int code, unsigned long addr)
diff --git a/arch/h8300/kernel/traps.c b/arch/h8300/kernel/traps.c
index 5d8b969cd8f3..2b1366c958e3 100644
--- a/arch/h8300/kernel/traps.c
+++ b/arch/h8300/kernel/traps.c
@@ -110,7 +110,7 @@ void die(const char *str, struct pt_regs *fp, unsigned long err)
dump(fp);
spin_unlock_irq(&die_lock);
- do_exit(SIGSEGV);
+ make_dead_task(SIGSEGV);
}
static int kstack_depth_to_print = 24;
diff --git a/arch/h8300/mm/fault.c b/arch/h8300/mm/fault.c
index d4bc9c16f2df..0223528565dd 100644
--- a/arch/h8300/mm/fault.c
+++ b/arch/h8300/mm/fault.c
@@ -51,7 +51,7 @@ asmlinkage int do_page_fault(struct pt_regs *regs, unsigned long address,
printk(" at virtual address %08lx\n", address);
if (!user_mode(regs))
die("Oops", regs, error_code);
- do_exit(SIGKILL);
+ make_dead_task(SIGKILL);
return 1;
}
diff --git a/arch/hexagon/kernel/traps.c b/arch/hexagon/kernel/traps.c
index 904134b37232..25e8bdbfd685 100644
--- a/arch/hexagon/kernel/traps.c
+++ b/arch/hexagon/kernel/traps.c
@@ -218,7 +218,7 @@ int die(const char *str, struct pt_regs *regs, long err)
panic("Fatal exception");
oops_exit();
- do_exit(err);
+ make_dead_task(err);
return 0;
}
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c
index 2a40268c3d49..d9ee3b186249 100644
--- a/arch/ia64/kernel/mca_drv.c
+++ b/arch/ia64/kernel/mca_drv.c
@@ -176,7 +176,7 @@ mca_handler_bh(unsigned long paddr, void *iip, unsigned long ipsr)
spin_unlock(&mca_bh_lock);
/* This process is about to be killed itself */
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
}
/**
diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c
index e13cb905930f..753642366e12 100644
--- a/arch/ia64/kernel/traps.c
+++ b/arch/ia64/kernel/traps.c
@@ -85,7 +85,7 @@ die (const char *str, struct pt_regs *regs, long err)
if (panic_on_oops)
panic("Fatal exception");
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
return 0;
}
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
index cd9766d2b6e0..829198180ca6 100644
--- a/arch/ia64/mm/fault.c
+++ b/arch/ia64/mm/fault.c
@@ -274,7 +274,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
regs = NULL;
bust_spinlocks(0);
if (regs)
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
return;
out_of_memory:
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
index 9e1261462bcc..b2a31afb998c 100644
--- a/arch/m68k/kernel/traps.c
+++ b/arch/m68k/kernel/traps.c
@@ -1136,7 +1136,7 @@ void die_if_kernel (char *str, struct pt_regs *fp, int nr)
pr_crit("%s: %08x\n", str, nr);
show_registers(fp);
add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
asmlinkage void set_esp0(unsigned long ssp)
diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c
index ef46e77e97a5..fcb3a0d8421c 100644
--- a/arch/m68k/mm/fault.c
+++ b/arch/m68k/mm/fault.c
@@ -48,7 +48,7 @@ int send_fault_sig(struct pt_regs *regs)
pr_alert("Unable to handle kernel access");
pr_cont(" at virtual address %p\n", addr);
die_if_kernel("Oops", regs, 0 /*error_code*/);
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
}
return 1;
diff --git a/arch/microblaze/kernel/exceptions.c b/arch/microblaze/kernel/exceptions.c
index cf99c411503e..6d3a6a644220 100644
--- a/arch/microblaze/kernel/exceptions.c
+++ b/arch/microblaze/kernel/exceptions.c
@@ -44,10 +44,10 @@ void die(const char *str, struct pt_regs *fp, long err)
pr_warn("Oops: %s, sig: %ld\n", str, err);
show_regs(fp);
spin_unlock_irq(&die_lock);
- /* do_exit() should take care of panic'ing from an interrupt
+ /* make_task_dead() should take care of panic'ing from an interrupt
* context so we don't handle it here
*/
- do_exit(err);
+ make_task_dead(err);
}
/* for user application debugging */
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index b1fe4518bd22..ebd0101f0958 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -413,7 +413,7 @@ void __noreturn die(const char *str, struct pt_regs *regs)
if (regs && kexec_should_crash(current))
crash_kexec(regs);
- do_exit(sig);
+ make_task_dead(sig);
}
extern struct exception_table_entry __start___dbe_table[];
diff --git a/arch/nds32/kernel/fpu.c b/arch/nds32/kernel/fpu.c
index 9edd7ed7d7bf..701c09a668de 100644
--- a/arch/nds32/kernel/fpu.c
+++ b/arch/nds32/kernel/fpu.c
@@ -223,7 +223,7 @@ inline void handle_fpu_exception(struct pt_regs *regs)
}
} else if (fpcsr & FPCSR_mskRIT) {
if (!user_mode(regs))
- do_exit(SIGILL);
+ make_task_dead(SIGILL);
si_signo = SIGILL;
}
diff --git a/arch/nds32/kernel/traps.c b/arch/nds32/kernel/traps.c
index 6a9772ba7392..12cdd6549360 100644
--- a/arch/nds32/kernel/traps.c
+++ b/arch/nds32/kernel/traps.c
@@ -185,7 +185,7 @@ void die(const char *str, struct pt_regs *regs, int err)
bust_spinlocks(0);
spin_unlock_irq(&die_lock);
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
EXPORT_SYMBOL(die);
@@ -289,7 +289,7 @@ void unhandled_interruption(struct pt_regs *regs)
pr_emerg("unhandled_interruption\n");
show_regs(regs);
if (!user_mode(regs))
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
force_sig(SIGKILL);
}
@@ -300,7 +300,7 @@ void unhandled_exceptions(unsigned long entry, unsigned long addr,
addr, type);
show_regs(regs);
if (!user_mode(regs))
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
force_sig(SIGKILL);
}
@@ -327,7 +327,7 @@ void do_revinsn(struct pt_regs *regs)
pr_emerg("Reserved Instruction\n");
show_regs(regs);
if (!user_mode(regs))
- do_exit(SIGILL);
+ make_task_dead(SIGILL);
force_sig(SIGILL);
}
diff --git a/arch/nios2/kernel/traps.c b/arch/nios2/kernel/traps.c
index b172da4eb1a9..86208178024f 100644
--- a/arch/nios2/kernel/traps.c
+++ b/arch/nios2/kernel/traps.c
@@ -37,10 +37,10 @@ void die(const char *str, struct pt_regs *regs, long err)
show_regs(regs);
spin_unlock_irq(&die_lock);
/*
- * do_exit() should take care of panic'ing from an interrupt
+ * make_task_dead() should take care of panic'ing from an interrupt
* context so we don't handle it here
*/
- do_exit(err);
+ make_task_dead(err);
}
void _exception(int signo, struct pt_regs *regs, int code, unsigned long addr)
diff --git a/arch/openrisc/kernel/traps.c b/arch/openrisc/kernel/traps.c
index 206e5325e61b..fca5317f3ce1 100644
--- a/arch/openrisc/kernel/traps.c
+++ b/arch/openrisc/kernel/traps.c
@@ -212,7 +212,7 @@ void die(const char *str, struct pt_regs *regs, long err)
__asm__ __volatile__("l.nop 1");
do {} while (1);
#endif
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
/* This is normally the 'Oops' routine */
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c
index bce47e0fb692..2fad7867af10 100644
--- a/arch/parisc/kernel/traps.c
+++ b/arch/parisc/kernel/traps.c
@@ -268,7 +268,7 @@ void die_if_kernel(char *str, struct pt_regs *regs, long err)
panic("Fatal exception");
oops_exit();
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
/* gdb uses break 4,8 */
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 069d451240fa..5e5a2448ae79 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -245,7 +245,7 @@ static void oops_end(unsigned long flags, struct pt_regs *regs,
if (panic_on_oops)
panic("Fatal exception");
- do_exit(signr);
+ make_task_dead(signr);
}
NOKPROBE_SYMBOL(oops_end);
diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
index c1a13011fb8e..23fe03ca7ec7 100644
--- a/arch/riscv/kernel/traps.c
+++ b/arch/riscv/kernel/traps.c
@@ -57,7 +57,7 @@ void die(struct pt_regs *regs, const char *str)
if (panic_on_oops)
panic("Fatal exception");
if (ret != NOTIFY_STOP)
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
void do_trap(struct pt_regs *regs, int signo, int code, unsigned long addr)
diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
index 8f84bbe0ac33..54b12943cc7b 100644
--- a/arch/riscv/mm/fault.c
+++ b/arch/riscv/mm/fault.c
@@ -34,7 +34,7 @@ static inline void no_context(struct pt_regs *regs, unsigned long addr)
(addr < PAGE_SIZE) ? "NULL pointer dereference" :
"paging request", addr);
die(regs, "Oops");
- do_exit(SIGKILL);
+ make_task_dead(SIGKILL);
}
static inline void mm_fault_error(struct pt_regs *regs, unsigned long addr, vm_fault_t fault)
diff --git a/arch/s390/kernel/dumpstack.c b/arch/s390/kernel/dumpstack.c
index 0dc4b258b98d..763e726025b3 100644
--- a/arch/s390/kernel/dumpstack.c
+++ b/arch/s390/kernel/dumpstack.c
@@ -214,5 +214,5 @@ void die(struct pt_regs *regs, const char *str)
if (panic_on_oops)
panic("Fatal exception: panic_on_oops");
oops_exit();
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
diff --git a/arch/s390/kernel/nmi.c b/arch/s390/kernel/nmi.c
index 86c8d5370e7f..0102376eca3d 100644
--- a/arch/s390/kernel/nmi.c
+++ b/arch/s390/kernel/nmi.c
@@ -178,7 +178,7 @@ void s390_handle_mcck(void)
"malfunction (code 0x%016lx).\n", mcck.mcck_code);
printk(KERN_EMERG "mcck: task: %s, pid: %d.\n",
current->comm, current->pid);
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
}
EXPORT_SYMBOL_GPL(s390_handle_mcck);
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c
index 9c3d32b80038..4efffc18c851 100644
--- a/arch/sh/kernel/traps.c
+++ b/arch/sh/kernel/traps.c
@@ -57,7 +57,7 @@ void die(const char *str, struct pt_regs *regs, long err)
if (panic_on_oops)
panic("Fatal exception");
- do_exit(SIGSEGV);
+ make_task_dead(SIGSEGV);
}
void die_if_kernel(const char *str, struct pt_regs *regs, long err)
diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c
index 247a0d9683b2..5d47f4a34226 100644
--- a/arch/sparc/kernel/traps_32.c
+++ b/arch/sparc/kernel/traps_32.c
@@ -86,9 +86,7 @@ void __noreturn die_if_kernel(char *str, struct pt_regs *regs)
}
printk("Instruction DUMP:");
instruction_dump ((unsigned long *) regs->pc);
- if(regs->psr & PSR_PS)
- do_exit(SIGKILL);
- do_exit(SIGSEGV);
+ make_task_dead((regs->psr & PSR_PS) ? SIGKILL : SIGSEGV);
}
void do_hw_interrupt(struct pt_regs *regs, unsigned long type)
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c
index a850dccd78ea..814277d0e3e8 100644
--- a/arch/sparc/kernel/traps_64.c
+++ b/arch/sparc/kernel/traps_64.c
@@ -2564,9 +2564,7 @@ void __noreturn die_if_kernel(char *str, struct pt_regs *regs)
}
if (panic_on_oops)
panic("Fatal exception");
- if (regs->tstate & TSTATE_PRIV)
- do_exit(SIGKILL);
- do_exit(SIGSEGV);
+ make_task_dead((regs->tstate & TSTATE_PRIV)? SIGKILL : SIGSEGV);
}
EXPORT_SYMBOL(die_if_kernel);
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 8fcd6a42b3a1..70bd81b6c612 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -1333,14 +1333,14 @@ SYM_CODE_START(asm_exc_nmi)
SYM_CODE_END(asm_exc_nmi)
.pushsection .text, "ax"
-SYM_CODE_START(rewind_stack_do_exit)
+SYM_CODE_START(rewind_stack_and_make_dead)
/* Prevent any naive code from trying to unwind to our caller. */
xorl %ebp, %ebp
movl PER_CPU_VAR(cpu_current_top_of_stack), %esi
leal -TOP_OF_KERNEL_STACK_PADDING-PTREGS_SIZE(%esi), %esp
- call do_exit
+ call make_task_dead
1: jmp 1b
-SYM_CODE_END(rewind_stack_do_exit)
+SYM_CODE_END(rewind_stack_and_make_dead)
.popsection
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 559c82b83475..23212c53cef7 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -1509,7 +1509,7 @@ SYM_CODE_END(ignore_sysret)
#endif
.pushsection .text, "ax"
-SYM_CODE_START(rewind_stack_do_exit)
+SYM_CODE_START(rewind_stack_and_make_dead)
UNWIND_HINT_FUNC
/* Prevent any naive code from trying to unwind to our caller. */
xorl %ebp, %ebp
@@ -1518,6 +1518,6 @@ SYM_CODE_START(rewind_stack_do_exit)
leaq -PTREGS_SIZE(%rax), %rsp
UNWIND_HINT_REGS
- call do_exit
-SYM_CODE_END(rewind_stack_do_exit)
+ call make_task_dead
+SYM_CODE_END(rewind_stack_and_make_dead)
.popsection
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
index 97aa900386cb..b4964300153a 100644
--- a/arch/x86/kernel/dumpstack.c
+++ b/arch/x86/kernel/dumpstack.c
@@ -351,7 +351,7 @@ unsigned long oops_begin(void)
}
NOKPROBE_SYMBOL(oops_begin);
-void __noreturn rewind_stack_do_exit(int signr);
+void __noreturn rewind_stack_and_make_dead(int signr);
void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
{
@@ -386,7 +386,7 @@ void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
* reuse the task stack and that existing poisons are invalid.
*/
kasan_unpoison_task_stack(current);
- rewind_stack_do_exit(signr);
+ rewind_stack_and_make_dead(signr);
}
NOKPROBE_SYMBOL(oops_end);
diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
index efc3a29cde80..129f23c0ab55 100644
--- a/arch/xtensa/kernel/traps.c
+++ b/arch/xtensa/kernel/traps.c
@@ -545,5 +545,5 @@ void die(const char * str, struct pt_regs * regs, long err)
if (panic_on_oops)
panic("Fatal exception");
- do_exit(err);
+ make_task_dead(err);
}
diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h
index 4ce511437a8a..2832cc6be062 100644
--- a/include/linux/sched/task.h
+++ b/include/linux/sched/task.h
@@ -61,6 +61,7 @@ extern void sched_post_fork(struct task_struct *p,
extern void sched_dead(struct task_struct *p);
void __noreturn do_task_dead(void);
+void __noreturn make_task_dead(int signr);
extern void proc_caches_init(void);
diff --git a/kernel/exit.c b/kernel/exit.c
index 8989e1d1f79b..8d7577940077 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -863,6 +863,15 @@ void __noreturn do_exit(long code)
}
EXPORT_SYMBOL_GPL(do_exit);
+void __noreturn make_task_dead(int signr)
+{
+ /*
+ * Take the task off the cpu after something catastrophic has
+ * happened.
+ */
+ do_exit(signr);
+}
+
void complete_and_exit(struct completion *comp, long code)
{
if (comp)
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 700984e7f5ba..3c2baeb86c57 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -168,6 +168,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
"panic",
"do_exit",
"do_task_dead",
+ "make_task_dead",
"__module_put_and_exit",
"complete_and_exit",
"__reiserfs_panic",
@@ -175,7 +176,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
"fortify_panic",
"usercopy_abort",
"machine_real_restart",
- "rewind_stack_do_exit",
+ "rewind_stack_and_make_dead"
"kunit_try_catch_throw",
"xen_start_kernel",
"cpu_bringup_and_idle",
--
2.39.0
next prev parent reply other threads:[~2023-01-30 14:24 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-30 13:50 [PATCH 5.10 000/143] 5.10.166-rc1 review Greg Kroah-Hartman
2023-01-30 13:50 ` [PATCH 5.10 001/143] clk: generalize devm_clk_get() a bit Greg Kroah-Hartman
2023-01-30 13:50 ` [PATCH 5.10 002/143] clk: Provide new devm_clk helpers for prepared and enabled clocks Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 003/143] memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 004/143] memory: mvebu-devbus: Fix missing clk_disable_unprepare in mvebu_devbus_probe() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 005/143] ARM: dts: imx6ul-pico-dwarf: Use clock-frequency Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 006/143] ARM: dts: imx7d-pico: " Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 007/143] ARM: dts: imx6qdl-gw560x: Remove incorrect uart-has-rtscts Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 008/143] arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 009/143] ARM: imx: add missing of_node_put() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 010/143] HID: intel_ish-hid: Add check for ishtp_dma_tx_map Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 011/143] EDAC/highbank: Fix memory leak in highbank_mc_probe() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 012/143] firmware: arm_scmi: Harden shared memory access in fetch_response Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 013/143] firmware: arm_scmi: Harden shared memory access in fetch_notification Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 014/143] tomoyo: fix broken dependency on *.conf.default Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 015/143] RDMA/core: Fix ib block iterator counter overflow Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 016/143] IB/hfi1: Reject a zero-length user expected buffer Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 017/143] IB/hfi1: Reserve user expected TIDs Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 018/143] IB/hfi1: Fix expected receive setup error exit issues Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 019/143] IB/hfi1: Immediately remove invalid memory from hardware Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 020/143] IB/hfi1: Remove user expected buffer invalidate race Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 021/143] affs: initialize fsdata in affs_truncate() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 022/143] PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 023/143] phy: ti: fix Kconfig warning and operator precedence Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 024/143] ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60 Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 025/143] amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 026/143] amd-xgbe: Delay AN timeout during KR training Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 027/143] bpf: Fix pointer-leak due to insufficient speculative store bypass mitigation Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 028/143] phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 029/143] net: nfc: Fix use-after-free in local_cleanup() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 030/143] net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 031/143] gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 032/143] wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 033/143] net/sched: sch_taprio: fix possible use-after-free Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 034/143] l2tp: Serialize access to sk_user_data with sk_callback_lock Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 035/143] l2tp: Dont sleep and disable BH under writer-side sk_callback_lock Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 036/143] l2tp: convert l2tp_tunnel_list to idr Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 037/143] l2tp: close all race conditions in l2tp_tunnel_register() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 038/143] net: usb: sr9700: Handle negative len Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 039/143] net: mdio: validate parameter addr in mdiobus_get_phy() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 040/143] HID: check empty report_list in hid_validate_values() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 041/143] HID: check empty report_list in bigben_probe() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 042/143] net: stmmac: fix invalid call to mdiobus_get_phy() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 043/143] HID: revert CHERRY_MOUSE_000C quirk Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 044/143] usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 045/143] usb: gadget: f_fs: Ensure ep0req is dequeued before free_request Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 046/143] net: mlx5: eliminate anonymous module_init & module_exit Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 047/143] drm/panfrost: fix GENERIC_ATOMIC64 dependency Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 048/143] dmaengine: Fix double increment of client_count in dma_chan_get() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 049/143] net: macb: fix PTP TX timestamp failure due to packet padding Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 050/143] l2tp: prevent lockdep issue in l2tp_tunnel_register() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 051/143] HID: betop: check shape of output reports Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 052/143] dmaengine: xilinx_dma: call of_node_put() when breaking out of for_each_child_of_node() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 053/143] nvme-pci: fix timeout request state check Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 054/143] tcp: avoid the lookup process failing to get sk in ehash table Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 055/143] w1: fix deadloop in __w1_remove_master_device() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 056/143] w1: fix WARNING after calling w1_process() Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 057/143] driver core: Fix test_async_probe_init saves device in wrong array Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 058/143] net: dsa: microchip: ksz9477: port map correction in ALU table entry register Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 059/143] tcp: fix rate_app_limited to default to 1 Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 060/143] scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 061/143] cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist Greg Kroah-Hartman
2023-01-30 13:51 ` [PATCH 5.10 062/143] kcsan: test: dont put the expect array on the stack Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 063/143] ASoC: fsl_micfil: Correct the number of steps on SX controls Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 064/143] drm: Add orientation quirk for Lenovo ideapad D330-10IGL Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 065/143] s390/debug: add _ASM_S390_ prefix to header guard Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 066/143] cpufreq: armada-37xx: stop using 0 as NULL pointer Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 067/143] ASoC: fsl_ssi: Rename AC97 streams to avoid collisions with AC97 CODEC Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 068/143] ASoC: fsl-asoc-card: Fix naming of AC97 CODEC widgets Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 069/143] spi: spidev: remove debug messages that access spidev->spi without locking Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 070/143] KVM: s390: interrupt: use READ_ONCE() before cmpxchg() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 071/143] scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 072/143] platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 073/143] platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 074/143] lockref: stop doing cpu_relax in the cmpxchg loop Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 075/143] Revert "selftests/bpf: check null propagation only neither reg is PTR_TO_BTF_ID" Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 076/143] netfilter: conntrack: do not renew entry stuck in tcp SYN_SENT state Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 077/143] x86: ACPI: cstate: Optimize C3 entry on AMD CPUs Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 078/143] fs: reiserfs: remove useless new_opts in reiserfs_remount Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 079/143] sysctl: add a new register_sysctl_init() interface Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 080/143] kernel/panic: move panic sysctls to its own file Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 081/143] panic: unset panic_on_warn inside panic() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 082/143] ubsan: no need to unset panic_on_warn in ubsan_epilogue() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 083/143] kasan: no need to unset panic_on_warn in end_report() Greg Kroah-Hartman
2023-01-30 13:52 ` Greg Kroah-Hartman [this message]
2023-01-30 13:52 ` [PATCH 5.10 085/143] objtool: Add a missing comma to avoid string concatenation Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 086/143] hexagon: Fix function name in die() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 087/143] h8300: Fix build errors from do_exit() to make_task_dead() transition Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 088/143] csky: Fix function name in csky_alignment() and die() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 089/143] ia64: make IA64_MCA_RECOVERY bool instead of tristate Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 090/143] panic: Separate sysctl logic from CONFIG_SMP Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 091/143] exit: Put an upper limit on how often we can oops Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 092/143] exit: Expose "oops_count" to sysfs Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 093/143] exit: Allow oops_limit to be disabled Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 094/143] panic: Consolidate open-coded panic_on_warn checks Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 095/143] panic: Introduce warn_limit Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 096/143] panic: Expose "warn_count" to sysfs Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 097/143] docs: Fix path paste-o for /sys/kernel/warn_count Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 098/143] exit: Use READ_ONCE() for all oops/warn limit reads Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 099/143] Bluetooth: hci_sync: cancel cmd_timer if hci_open failed Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 100/143] xhci: Set HCD flag to defer primary roothub registration Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 101/143] scsi: hpsa: Fix allocation size for scsi_host_alloc() Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 102/143] module: Dont wait for GOING modules Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 103/143] tracing: Make sure trace_printk() can output as soon as it can be used Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 104/143] trace_events_hist: add check for return value of create_hist_field Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 105/143] ftrace/scripts: Update the instructions for ftrace-bisect.sh Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 106/143] cifs: Fix oops due to uncleared server->smbd_conn in reconnect Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 107/143] KVM: x86/vmx: Do not skip segment attributes if unusable bit is set Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 108/143] thermal: intel: int340x: Protect trip temperature from concurrent updates Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 109/143] ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 110/143] EDAC/device: Respect any driver-supplied workqueue polling value Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 111/143] EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_infos pvt_info Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 112/143] units: Add Watt units Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 113/143] units: Add SI metric prefix definitions Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 114/143] i2c: designware: Use DIV_ROUND_CLOSEST() macro Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 115/143] i2c: designware: use casting of u64 in clock multiplication to avoid overflow Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 116/143] netlink: prevent potential spectre v1 gadgets Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 117/143] net: fix UaF in netns ops registration error path Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 118/143] netfilter: nft_set_rbtree: Switch to node list walk for overlap detection Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 119/143] netfilter: nft_set_rbtree: skip elements in transaction from garbage collection Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 120/143] netlink: annotate data races around nlk->portid Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 121/143] netlink: annotate data races around dst_portid and dst_group Greg Kroah-Hartman
2023-01-30 13:52 ` [PATCH 5.10 122/143] netlink: annotate data races around sk_state Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 123/143] ipv4: prevent potential spectre v1 gadget in ip_metrics_convert() Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 124/143] ipv4: prevent potential spectre v1 gadget in fib_metrics_match() Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 125/143] netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 126/143] netfilter: conntrack: fix bug in for_each_sctp_chunk Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 127/143] netrom: Fix use-after-free of a listening socket Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 128/143] net/sched: sch_taprio: do not schedule in taprio_reset() Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 129/143] sctp: fail if no bound addresses can be used for a given scope Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 130/143] net: ravb: Fix possible hang if RIS2_QFF1 happen Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 131/143] thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 132/143] net/tg3: resolve deadlock in tg3_reset_task() during EEH Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 133/143] net: mdio-mux-meson-g12a: force internal PHY off on mux switch Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 134/143] tools: gpio: fix -c option of gpio-event-mon Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 135/143] Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode" Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 136/143] nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 137/143] nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 138/143] Revert "selftests/ftrace: Update synthetic event syntax errors" Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 139/143] block: fix and cleanup bio_check_ro Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 140/143] x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 141/143] netfilter: conntrack: unify established states for SCTP paths Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 142/143] perf/x86/amd: fix potential integer overflow on shift of a int Greg Kroah-Hartman
2023-01-30 13:53 ` [PATCH 5.10 143/143] clk: Fix pointer casting to prevent oops in devm_clk_release() Greg Kroah-Hartman
2023-01-30 18:37 ` [PATCH 5.10 000/143] 5.10.166-rc1 review Florian Fainelli
2023-01-30 21:09 ` Shuah Khan
2023-01-30 21:54 ` Pavel Machek
2023-01-31 3:11 ` Guenter Roeck
2023-01-31 9:45 ` Naresh Kamboju
2023-01-31 11:46 ` Sudip Mukherjee
2023-01-31 13:41 ` Jon Hunter
2023-01-31 17:14 ` Allen Pais
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=20230130134310.372430950@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ebiederm@xmission.com \
--cc=ebiggers@google.com \
--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