summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorFelipe Pena <felipensp@gmail.com>2013-09-30 22:45:14 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-30 23:31:02 +0200
commit0772dac1dc28ab5a67374303e58c0fe5bff15720 (patch)
tree432d1e2499de7fb9406096ae24ea1f0ea09b04b1 /arch
parentinclude/asm-generic/vtime.h: avoid zero-length file (diff)
downloadlinux-0772dac1dc28ab5a67374303e58c0fe5bff15720.tar.xz
linux-0772dac1dc28ab5a67374303e58c0fe5bff15720.zip
arch/parisc/mm/fault.c: fix uninitialized variable usage
The FAULT_FLAG_WRITE flag has been set based on uninitialized variable. Fixes a regression added by commit 759496ba6407 ("arch: mm: pass userspace fault flag to generic fault handler") Signed-off-by: Felipe Pena <felipensp@gmail.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.cz> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Helge Deller <deller@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/parisc/mm/fault.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c
index d10d27a720c0..00c0ed333a3d 100644
--- a/arch/parisc/mm/fault.c
+++ b/arch/parisc/mm/fault.c
@@ -182,6 +182,9 @@ void do_page_fault(struct pt_regs *regs, unsigned long code,
if (user_mode(regs))
flags |= FAULT_FLAG_USER;
+
+ acc_type = parisc_acctyp(code, regs->iir);
+
if (acc_type & VM_WRITE)
flags |= FAULT_FLAG_WRITE;
retry:
@@ -196,8 +199,6 @@ retry:
good_area:
- acc_type = parisc_acctyp(code,regs->iir);
-
if ((vma->vm_flags & acc_type) != acc_type)
goto bad_area;