| From | Ilya Leoshkevich <> | Subject | [PATCH v2 29/33] s390/traps: Unpoison the kernel_stack_overflow()'s pt_regs | Date | Tue, 21 Nov 2023 23:01:23 +0100 |
| |
This is normally done by the generic entry code, but the kernel_stack_overflow() flow bypasses it.
Reviewed-by: Alexander Potapenko <glider@google.com> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> --- arch/s390/kernel/traps.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index 1d2aa448d103..f299b1203a20 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c @@ -27,6 +27,7 @@ #include <linux/uaccess.h> #include <linux/cpu.h> #include <linux/entry-common.h> +#include <linux/kmsan.h> #include <asm/asm-extable.h> #include <asm/fpu/api.h> #include <asm/vtime.h> @@ -260,6 +261,11 @@ static void monitor_event_exception(struct pt_regs *regs) void kernel_stack_overflow(struct pt_regs *regs) { + /* + * Normally regs are unpoisoned by the generic entry code, but + * kernel_stack_overflow() is a rare case that is called bypassing it. + */ + kmsan_unpoison_entry_regs(regs); bust_spinlocks(1); printk("Kernel stack overflow.\n"); show_regs(regs); -- 2.41.0
|