Commit a967f161 authored by Markus Elfring's avatar Markus Elfring Committed by Michael Ellerman

powerpc/mm: Return directly after a failed __copy_from_user() in sys_subpage_prot()

This function already has multiple exit points, so there's no harm
adding another. Although it looks odd to return directly in a function
which takes a lock, we've actually just dropped the mmap_sem in this
code, so there's really no reason to go via a label. And it means we can
drop the unhelpfully named out2 label.
Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
[mpe: Rewrite change log]
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 3c4b66a6
...@@ -248,9 +248,8 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map) ...@@ -248,9 +248,8 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map)
nw = (next - addr) >> PAGE_SHIFT; nw = (next - addr) >> PAGE_SHIFT;
up_write(&mm->mmap_sem); up_write(&mm->mmap_sem);
err = -EFAULT;
if (__copy_from_user(spp, map, nw * sizeof(u32))) if (__copy_from_user(spp, map, nw * sizeof(u32)))
goto out2; return -EFAULT;
map += nw; map += nw;
down_write(&mm->mmap_sem); down_write(&mm->mmap_sem);
...@@ -262,6 +261,5 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map) ...@@ -262,6 +261,5 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map)
err = 0; err = 0;
out: out:
up_write(&mm->mmap_sem); up_write(&mm->mmap_sem);
out2:
return err; return err;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment