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: 153+ 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 ` 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 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.