*/
static int rose_setsockopt(struct socket *sock, int level, int optname,
- char *optval, int optlen)
+ char __user *optval, int optlen)
{
struct sock *sk = sock->sk;
rose_cb *rose = rose_sk(sk);
if (optlen < sizeof(int))
return -EINVAL;
- if (get_user(opt, (int *)optval))
+ if (get_user(opt, (int __user *)optval))
return -EFAULT;
switch (optname) {
}
static int rose_getsockopt(struct socket *sock, int level, int optname,
- char *optval, int *optlen)
+ char __user *optval, int __user *optlen)
{
struct sock *sk = sock->sk;
rose_cb *rose = rose_sk(sk);
case SIOCGSTAMP:
if (sk != NULL)
- return sock_get_timestamp(sk, (struct timeval *)arg);
+ return sock_get_timestamp(sk, (struct timeval __user *)arg);
return -EINVAL;
case SIOCGIFADDR:
return 0;
default:
- return dev_ioctl(cmd, (void *)arg);
+ return dev_ioctl(cmd, (void __user *)arg);
}
return 0;