From 6e3a9a7fdf562410a833b6aad5ae93f3ea6726f1 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Thu, 3 Jun 2004 07:27:30 -0700 Subject: [PATCH] [PATCH] sparse: rose annotation --- include/net/rose.h | 2 +- net/rose/af_rose.c | 19 ++++++++++--------- net/rose/rose_route.c | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/include/net/rose.h b/include/net/rose.h index d164466a54c94..f3382358e5eea 100644 --- a/include/net/rose.h +++ b/include/net/rose.h @@ -207,7 +207,7 @@ extern struct net_device *rose_dev_get(rose_address *); extern struct rose_route *rose_route_free_lci(unsigned int, struct rose_neigh *); extern struct net_device *rose_ax25_dev_get(char *); extern struct rose_neigh *rose_get_neigh(rose_address *, unsigned char *, unsigned char *); -extern int rose_rt_ioctl(unsigned int, void *); +extern int rose_rt_ioctl(unsigned int, void __user *); extern void rose_link_failed(ax25_cb *, int); extern int rose_route_frame(struct sk_buff *, ax25_cb *); extern void rose_rt_free(void); diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 315e4a97afcb9..009cc2dc2bb4d 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -1249,6 +1249,7 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) { struct sock *sk = sock->sk; rose_cb *rose = rose_sk(sk); + void __user *argp = (void __user *)arg; switch (cmd) { case TIOCOUTQ: { @@ -1256,7 +1257,7 @@ static int rose_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; - return put_user(amount, (unsigned int *)arg); + return put_user(amount, (unsigned int __user *)argp); } case TIOCINQ: { @@ -1265,12 +1266,12 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) /* These two are safe on a single CPU system as only user tasks fiddle here */ if ((skb = skb_peek(&sk->sk_receive_queue)) != NULL) amount = skb->len; - return put_user(amount, (unsigned int *)arg); + return put_user(amount, (unsigned int __user *)argp); } case SIOCGSTAMP: if (sk != NULL) - return sock_get_timestamp(sk, (struct timeval __user *)arg); + return sock_get_timestamp(sk, (struct timeval __user *)argp); return -EINVAL; case SIOCGIFADDR: @@ -1290,18 +1291,18 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) case SIOCRSCLRRT: if (!capable(CAP_NET_ADMIN)) return -EPERM; - return rose_rt_ioctl(cmd, (void *)arg); + return rose_rt_ioctl(cmd, argp); case SIOCRSGCAUSE: { struct rose_cause_struct rose_cause; rose_cause.cause = rose->cause; rose_cause.diagnostic = rose->diagnostic; - return copy_to_user((void *)arg, &rose_cause, sizeof(struct rose_cause_struct)) ? -EFAULT : 0; + return copy_to_user(argp, &rose_cause, sizeof(struct rose_cause_struct)) ? -EFAULT : 0; } case SIOCRSSCAUSE: { struct rose_cause_struct rose_cause; - if (copy_from_user(&rose_cause, (void *)arg, sizeof(struct rose_cause_struct))) + if (copy_from_user(&rose_cause, argp, sizeof(struct rose_cause_struct))) return -EFAULT; rose->cause = rose_cause.cause; rose->diagnostic = rose_cause.diagnostic; @@ -1312,14 +1313,14 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) if (!capable(CAP_NET_ADMIN)) return -EPERM; if (ax25cmp(&rose_callsign, &null_ax25_address) != 0) ax25_listen_release(&rose_callsign, NULL); - if (copy_from_user(&rose_callsign, (void *)arg, sizeof(ax25_address))) + if (copy_from_user(&rose_callsign, argp, sizeof(ax25_address))) return -EFAULT; if (ax25cmp(&rose_callsign, &null_ax25_address) != 0) ax25_listen_register(&rose_callsign, NULL); return 0; case SIOCRSGL2CALL: - return copy_to_user((void *)arg, &rose_callsign, sizeof(ax25_address)) ? -EFAULT : 0; + return copy_to_user(argp, &rose_callsign, sizeof(ax25_address)) ? -EFAULT : 0; case SIOCRSACCEPT: if (rose->state == ROSE_STATE_5) { @@ -1335,7 +1336,7 @@ static int rose_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) return 0; default: - return dev_ioctl(cmd, (void __user *)arg); + return dev_ioctl(cmd, argp); } return 0; diff --git a/net/rose/rose_route.c b/net/rose/rose_route.c index 47664dc7a384a..0cd8810f26981 100644 --- a/net/rose/rose_route.c +++ b/net/rose/rose_route.c @@ -710,7 +710,7 @@ out: /* * Handle the ioctls that control the routing functions. */ -int rose_rt_ioctl(unsigned int cmd, void *arg) +int rose_rt_ioctl(unsigned int cmd, void __user *arg) { struct rose_route_struct rose_route; struct net_device *dev; -- 2.53.0