X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fdecnet%2Faf_decnet.c;h=c08a80fd380db6fdf1ab660799d828d842778b6c;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=e0d5284a7203ebd133ce1e27deed22e2c5ad4b1b;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index e0d5284a7..c08a80fd3 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c @@ -155,8 +155,8 @@ static rwlock_t dn_hash_lock = RW_LOCK_UNLOCKED; static struct hlist_head dn_sk_hash[DN_SK_HASH_SIZE]; static struct hlist_head dn_wild_sk; -static int __dn_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen, int flags); -static int __dn_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen, int flags); +static int __dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, int optlen, int flags); +static int __dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen, int flags); static struct hlist_head *dn_find_list(struct sock *sk) { @@ -1212,7 +1212,7 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) { case SIOCGIFADDR: case SIOCSIFADDR: - return dn_dev_ioctl(cmd, (void *)arg); + return dn_dev_ioctl(cmd, (void __user *)arg); case SIOCATMARK: lock_sock(sk); @@ -1226,7 +1226,7 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) amount = sk->sk_sndbuf - atomic_read(&sk->sk_wmem_alloc); if (amount < 0) amount = 0; - err = put_user(amount, (int *)arg); + err = put_user(amount, (int __user *)arg); break; case TIOCINQ: @@ -1244,11 +1244,11 @@ static int dn_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) } } release_sock(sk); - err = put_user(amount, (int *)arg); + err = put_user(amount, (int __user *)arg); break; default: - err = dev_ioctl(cmd, (void *)arg); + err = dev_ioctl(cmd, (void __user *)arg); break; } @@ -1313,7 +1313,7 @@ out: return err; } -static int dn_setsockopt(struct socket *sock, int level, int optname, char *optval, int optlen) +static int dn_setsockopt(struct socket *sock, int level, int optname, char __user *optval, int optlen) { struct sock *sk = sock->sk; int err; @@ -1325,7 +1325,7 @@ static int dn_setsockopt(struct socket *sock, int level, int optname, char *optv return err; } -static int __dn_setsockopt(struct socket *sock, int level,int optname, char *optval, int optlen, int flags) +static int __dn_setsockopt(struct socket *sock, int level,int optname, char __user *optval, int optlen, int flags) { struct sock *sk = sock->sk; struct dn_scp *scp = DN_SK(sk); @@ -1490,7 +1490,7 @@ static int __dn_setsockopt(struct socket *sock, int level,int optname, char *opt return 0; } -static int dn_getsockopt(struct socket *sock, int level, int optname, char *optval, int *optlen) +static int dn_getsockopt(struct socket *sock, int level, int optname, char __user *optval, int __user *optlen) { struct sock *sk = sock->sk; int err; @@ -1502,7 +1502,7 @@ static int dn_getsockopt(struct socket *sock, int level, int optname, char *optv return err; } -static int __dn_getsockopt(struct socket *sock, int level,int optname, char *optval,int *optlen, int flags) +static int __dn_getsockopt(struct socket *sock, int level,int optname, char __user *optval,int __user *optlen, int flags) { struct sock *sk = sock->sk; struct dn_scp *scp = DN_SK(sk); @@ -1905,7 +1905,7 @@ static int dn_sendmsg(struct kiocb *iocb, struct socket *sock, unsigned char fctype; long timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT); - if (flags & ~(MSG_TRYHARD|MSG_OOB|MSG_DONTWAIT|MSG_EOR|MSG_NOSIGNAL|MSG_MORE)) + if (flags & ~(MSG_TRYHARD|MSG_OOB|MSG_DONTWAIT|MSG_EOR|MSG_NOSIGNAL|MSG_MORE|MSG_CMSG_COMPAT)) return -EOPNOTSUPP; if (addr_len && (addr_len != sizeof(struct sockaddr_dn)))