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

Commit 4855bd25 authored by Al Viro's avatar Al Viro
Browse files

arm64: don't zero in __copy_from_user{,_inatomic}



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 91344493
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -278,14 +278,16 @@ static inline unsigned long __must_check __copy_to_user(void __user *to, const v

static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long n)
{
	unsigned long res = n;
	kasan_check_write(to, n);

	if (access_ok(VERIFY_READ, from, n)) {
		check_object_size(to, n, false);
		n = __arch_copy_from_user(to, from, n);
	} else /* security hole - plug it */
		memset(to, 0, n);
	return n;
		res = __arch_copy_from_user(to, from, n);
	}
	if (unlikely(res))
		memset(to + (n - res), 0, res);
	return res;
}

static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n)
+1 −6
Original line number Diff line number Diff line
@@ -79,11 +79,6 @@ ENDPROC(__arch_copy_from_user)

	.section .fixup,"ax"
	.align	2
9998:
	sub	x0, end, dst
9999:
	strb	wzr, [dst], #1			// zero remaining buffer space
	cmp	dst, end
	b.lo	9999b
9998:	sub	x0, end, dst			// bytes not copied
	ret
	.previous