Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -248,9 +248,8 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map)
			nw = (next - addr) >> PAGE_SHIFT;

		up_write(&mm->mmap_sem);
		err = -EFAULT;
		if (__copy_from_user(spp, map, nw * sizeof(u32)))
			goto out2;
			return -EFAULT;
		map += nw;
		down_write(&mm->mmap_sem);

@@ -262,6 +261,5 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map)
	err = 0;
 out:
	up_write(&mm->mmap_sem);
 out2:
	return err;
}