Blob Blame History Raw
From: Christophe Leroy <christophe.leroy@c-s.fr>
Date: Sat, 9 Dec 2017 17:24:24 +0100
Subject: Fix misannotated out-of-line _copy_to_user()
Git-commit: a0e94598e6b6c0d1df6a5fa14eb7c767ca817a20
Patch-mainline: v4.16-rc1
References: bsc#1082625

Destination is a kernel pointer and source - a userland one
in _copy_from_user(); _copy_to_user() is the other way round.

Fixes: d597580d37377 ("generic ...copy_..._user primitives")
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Lee Duncan <lduncan@suse.com>
---
 lib/usercopy.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/lib/usercopy.c
+++ b/lib/usercopy.c
@@ -16,7 +16,7 @@ EXPORT_SYMBOL(_copy_from_user);
 #endif
 
 #ifndef INLINE_COPY_TO_USER
-unsigned long _copy_to_user(void *to, const void __user *from, unsigned long n)
+unsigned long _copy_to_user(void __user *to, const void *from, unsigned long n)
 {
 	if (likely(access_ok(VERIFY_WRITE, to, n)))
 		n = raw_copy_to_user(to, from, n);