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 -EINVAL;
default:
IRDA_DEBUG(1, "%s(), doing device ioctl!\n", __FUNCTION__);
- return dev_ioctl(cmd, (void *) arg);
+ return dev_ioctl(cmd, (void __user *) arg);
}
/*NOTREACHED*/
*
*/
static int irda_setsockopt(struct socket *sock, int level, int optname,
- char *optval, int optlen)
+ char __user *optval, int optlen)
{
struct sock *sk = sock->sk;
struct irda_sock *self = irda_sk(sk);
return -ENOMEM;
/* Copy query to the driver. */
- if (copy_from_user(ias_opt, (char *)optval, optlen)) {
+ if (copy_from_user(ias_opt, optval, optlen)) {
kfree(ias_opt);
return -EFAULT;
}
return -ENOMEM;
/* Copy query to the driver. */
- if (copy_from_user(ias_opt, (char *)optval, optlen)) {
+ if (copy_from_user(ias_opt, optval, optlen)) {
kfree(ias_opt);
return -EFAULT;
}
if (optlen < sizeof(int))
return -EINVAL;
- if (get_user(opt, (int *)optval))
+ if (get_user(opt, (int __user *)optval))
return -EFAULT;
/* Only possible for a seqpacket service (TTP with SAR) */
return -EINVAL;
/* The input is really a (__u8 hints[2]), easier as an int */
- if (get_user(opt, (int *)optval))
+ if (get_user(opt, (int __user *)optval))
return -EFAULT;
/* Unregister any old registration */
return -EINVAL;
/* The input is really a (__u8 hints[2]), easier as an int */
- if (get_user(opt, (int *)optval))
+ if (get_user(opt, (int __user *)optval))
return -EFAULT;
/* Set the new hint mask */
* Function irda_getsockopt (sock, level, optname, optval, optlen)
*/
static int irda_getsockopt(struct socket *sock, int level, int optname,
- char *optval, int *optlen)
+ char __user *optval, int __user *optlen)
{
struct sock *sk = sock->sk;
struct irda_sock *self = irda_sk(sk);
return -ENOMEM;
/* Copy query to the driver. */
- if (copy_from_user((char *) ias_opt, (char *)optval, len)) {
+ if (copy_from_user(ias_opt, optval, len)) {
kfree(ias_opt);
return -EFAULT;
}
}
/* Copy reply to the user */
- if (copy_to_user((char *)optval, (char *) ias_opt,
+ if (copy_to_user(optval, ias_opt,
sizeof(struct irda_ias_set))) {
kfree(ias_opt);
return -EFAULT;
return -ENOMEM;
/* Copy query to the driver. */
- if (copy_from_user((char *) ias_opt, (char *)optval, len)) {
+ if (copy_from_user(ias_opt, optval, len)) {
kfree(ias_opt);
return -EFAULT;
}
}
/* Copy reply to the user */
- if (copy_to_user((char *)optval, (char *) ias_opt,
+ if (copy_to_user(optval, ias_opt,
sizeof(struct irda_ias_set))) {
kfree(ias_opt);
return -EFAULT;
if (len != sizeof(int))
return -EINVAL;
/* Get timeout in ms (max time we block the caller) */
- if (get_user(val, (int *)optval))
+ if (get_user(val, (int __user *)optval))
return -EFAULT;
/* Tell IrLMP we want to be notified */
* If the user want more details, he should query
* the whole discovery log and pick one device...
*/
- if (put_user(daddr, (int *)optval))
+ if (put_user(daddr, (int __user *)optval))
return -EFAULT;
break;