summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>2018-11-07 15:12:49 +0300
committerVineet Gupta <vgupta@synopsys.com>2018-11-12 21:38:27 +0300
commit121e38e5acdc8e1e4cdb750fcdcc72f94e420968 (patch)
tree7f3c6d5a0dc41b23920c59e590968a430d4f6148 /arch
parent4592f11e47a2b28562d6cfe165d5ea7495ff4dca (diff)
downloadlinux-121e38e5acdc8e1e4cdb750fcdcc72f94e420968.tar.xz
ARC: mm: fix uninitialised signal code in do_page_fault
Commit 15773ae938d8 ("signal/arc: Use force_sig_fault where appropriate") introduced undefined behaviour by leaving si_code unitiailized and leaking random kernel values to user space. Fixes: 15773ae938d8 ("signal/arc: Use force_sig_fault where appropriate") Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arc/mm/fault.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c
index c9da6102eb4f..e2d9fc3fea01 100644
--- a/arch/arc/mm/fault.c
+++ b/arch/arc/mm/fault.c
@@ -66,7 +66,7 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
struct vm_area_struct *vma = NULL;
struct task_struct *tsk = current;
struct mm_struct *mm = tsk->mm;
- int si_code;
+ int si_code = 0;
int ret;
vm_fault_t fault;
int write = regs->ecr_cause & ECR_C_PROTV_STORE; /* ST/EX */