Patch "MIPS: traps: Fix SIGFPE information leak from `do_ov' and `do_trap_or_bp'" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
MIPS: traps: Fix SIGFPE information leak from do_ov' and do_trap_or_bp'
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mips-traps-fix-sigfpe-information-leak-from-do_ov-and-do_trap_or_bp.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
e723e3f7f9591b79e8c56b3d7c5a204a9c571b55Mon Sep 17 00:00:00 2001
From: "Maciej W. Rozycki" <[email protected]>
Date: Fri, 4 Mar 2016 01:42:49 +0000
Subject: MIPS: traps: Fix SIGFPE information leak from do_ov' and do_trap_or_bp'
From: Maciej W. Rozycki <[email protected]>
commit e723e3f7f9591b79e8c56b3d7c5a204a9c571b55 upstream.
Avoid sending a partially initialised siginfo_t' structure along SIGFPE signals issued from do_ov' and `do_trap_or_bp', leading to information leaking from the kernel stack.
--- arch/mips/kernel/traps.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
arch/mips/kernel/traps.c +6 -7
@@ -690,15 +690,15 @@ static int simulate_sync(struct pt_regs asmlinkage void do_ov(struct pt_regs *regs) {enum ctx_state prev_state; -siginfo_t info; +siginfo_t info = { + .si_signo =SIGFPE , + .si_code =FPE_INTOVF , + .si_addr = (void __user *)regs->cp0_epc, + }; prev_state =exception_enter ();die_if_kernel ("Integer overflow" , regs); - info.si_code =FPE_INTOVF ; - info.si_signo =SIGFPE ; - info.si_errno =0 ; - info.si_addr = (void __user *) regs->cp0_epc;force_sig_info (SIGFPE , &info, current);exception_exit (prev_state); }
@@ -874,7 +874,7 @@ out:void do_trap_or_bp (struct pt_regs *regs,unsigned int code,const char *str) { -siginfo_t info; +siginfo_t info = {0 };char b[40 ];#ifdef CONFIG_KGDB_LOW_LEVEL_TRAP
@@ -903,7 +903,6 @@ void do_trap_or_bp(struct pt_regs *regs,else info.si_code =FPE_INTOVF ; info.si_signo =SIGFPE ; - info.si_errno =0 ; info.si_addr = (void __user *) regs->cp0_epc;force_sig_info (SIGFPE , &info, current);break ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mips-traps-fix-sigfpe-information-leak-from-do_ov-and-do_trap_or_bp.patch