Merge tag 'm68knommu-for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg...
[linux-2.6-microblaze.git] / net / kcm / kcmsock.c
index 56fac24..56dad95 100644 (file)
@@ -1265,7 +1265,7 @@ static void kcm_recv_enable(struct kcm_sock *kcm)
 }
 
 static int kcm_setsockopt(struct socket *sock, int level, int optname,
-                         char __user *optval, unsigned int optlen)
+                         sockptr_t optval, unsigned int optlen)
 {
        struct kcm_sock *kcm = kcm_sk(sock->sk);
        int val, valbool;
@@ -1277,8 +1277,8 @@ static int kcm_setsockopt(struct socket *sock, int level, int optname,
        if (optlen < sizeof(int))
                return -EINVAL;
 
-       if (get_user(val, (int __user *)optval))
-               return -EINVAL;
+       if (copy_from_sockptr(&val, optval, sizeof(int)))
+               return -EFAULT;
 
        valbool = val ? 1 : 0;