From eb3119f9c6cac802e0f80694126495b1bb46e357 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Thu, 3 Jun 2004 07:43:39 -0700 Subject: [PATCH] [PATCH] sparse: irda annotation --- net/irda/af_irda.c | 4 +-- net/irda/ircomm/ircomm_tty_ioctl.c | 10 +++---- net/irda/irlmp.c | 4 +-- net/irda/irnet/irnet_ppp.c | 44 ++++++++++++++++-------------- net/irda/irnet/irnet_ppp.h | 4 +-- net/irda/irsysctl.c | 2 +- 6 files changed, 35 insertions(+), 33 deletions(-) diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c index 6d6c65a53118a..61f53e24ff016 100644 --- a/net/irda/af_irda.c +++ b/net/irda/af_irda.c @@ -1779,7 +1779,7 @@ static int irda_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; - if (put_user(amount, (unsigned int *)arg)) + if (put_user(amount, (unsigned int __user *)arg)) return -EFAULT; return 0; } @@ -1790,7 +1790,7 @@ static int irda_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; - if (put_user(amount, (unsigned int *)arg)) + if (put_user(amount, (unsigned int __user *)arg)) return -EFAULT; return 0; } diff --git a/net/irda/ircomm/ircomm_tty_ioctl.c b/net/irda/ircomm/ircomm_tty_ioctl.c index cf5778686c105..40965158a75f8 100644 --- a/net/irda/ircomm/ircomm_tty_ioctl.c +++ b/net/irda/ircomm/ircomm_tty_ioctl.c @@ -260,7 +260,7 @@ int ircomm_tty_tiocmset(struct tty_struct *tty, struct file *file, * */ static int ircomm_tty_get_serial_info(struct ircomm_tty_cb *self, - struct serial_struct *retinfo) + struct serial_struct __user *retinfo) { struct serial_struct info; @@ -297,7 +297,7 @@ static int ircomm_tty_get_serial_info(struct ircomm_tty_cb *self, * */ static int ircomm_tty_set_serial_info(struct ircomm_tty_cb *self, - struct serial_struct *new_info) + struct serial_struct __user *new_info) { #if 0 struct serial_struct new_serial; @@ -388,10 +388,10 @@ int ircomm_tty_ioctl(struct tty_struct *tty, struct file *file, switch (cmd) { case TIOCGSERIAL: - ret = ircomm_tty_get_serial_info(self, (struct serial_struct *) arg); + ret = ircomm_tty_get_serial_info(self, (struct serial_struct __user *) arg); break; case TIOCSSERIAL: - ret = ircomm_tty_set_serial_info(self, (struct serial_struct *) arg); + ret = ircomm_tty_set_serial_info(self, (struct serial_struct __user *) arg); break; case TIOCMIWAIT: IRDA_DEBUG(0, "(), TIOCMIWAIT, not impl!\n"); @@ -403,7 +403,7 @@ int ircomm_tty_ioctl(struct tty_struct *tty, struct file *file, save_flags(flags); cli(); cnow = driver->icount; restore_flags(flags); - p_cuser = (struct serial_icounter_struct *) arg; + p_cuser = (struct serial_icounter_struct __user *) arg; if (put_user(cnow.cts, &p_cuser->cts) || put_user(cnow.dsr, &p_cuser->dsr) || put_user(cnow.rng, &p_cuser->rng) || diff --git a/net/irda/irlmp.c b/net/irda/irlmp.c index 0a9b1ca00af0a..d16ce9bb855cc 100644 --- a/net/irda/irlmp.c +++ b/net/irda/irlmp.c @@ -804,7 +804,7 @@ void irlmp_disconnect_indication(struct lsap_cb *self, LM_REASON reason, * Note : separate from irlmp_do_discovery() so that we can handle * passive discovery properly. */ -void irlmp_do_expiry() +void irlmp_do_expiry(void) { struct lap_cb *lap; @@ -1078,7 +1078,7 @@ void irlmp_discovery_expiry(discinfo_t *expiries, int number) * Used by IrLAP to get the discovery info it needs when answering * discovery requests by other devices. */ -discovery_t *irlmp_get_discovery_response() +discovery_t *irlmp_get_discovery_response(void) { IRDA_DEBUG(4, "%s()\n", __FUNCTION__); diff --git a/net/irda/irnet/irnet_ppp.c b/net/irda/irnet/irnet_ppp.c index 98afb0a20ccd0..b81d56cba0c64 100644 --- a/net/irda/irnet/irnet_ppp.c +++ b/net/irda/irnet/irnet_ppp.c @@ -35,7 +35,7 @@ */ static inline ssize_t irnet_ctrl_write(irnet_socket * ap, - const char * buf, + const char __user *buf, size_t count) { char command[IRNET_MAX_COMMAND]; @@ -254,7 +254,7 @@ irnet_read_discovery_log(irnet_socket * ap, static inline ssize_t irnet_ctrl_read(irnet_socket * ap, struct file * file, - char * buf, + char __user * buf, size_t count) { DECLARE_WAITQUEUE(wait, current); @@ -529,7 +529,7 @@ dev_irnet_close(struct inode * inode, */ static ssize_t dev_irnet_write(struct file * file, - const char * buf, + const char __user *buf, size_t count, loff_t * ppos) { @@ -553,7 +553,7 @@ dev_irnet_write(struct file * file, */ static ssize_t dev_irnet_read(struct file * file, - char * buf, + char __user * buf, size_t count, loff_t * ppos) { @@ -610,6 +610,7 @@ dev_irnet_ioctl(struct inode * inode, irnet_socket * ap = (struct irnet_socket *) file->private_data; int err; int val; + void __user *argp = (void __user *)arg; DENTER(FS_TRACE, "(file=0x%p, ap=0x%p, cmd=0x%X)\n", file, ap, cmd); @@ -626,7 +627,7 @@ dev_irnet_ioctl(struct inode * inode, { /* Set discipline (should be N_SYNC_PPP or N_TTY) */ case TIOCSETD: - if(get_user(val, (int *) arg)) + if(get_user(val, (int __user *)argp)) break; if((val == N_SYNC_PPP) || (val == N_PPP)) { @@ -665,7 +666,7 @@ dev_irnet_ioctl(struct inode * inode, case PPPIOCGCHAN: if(!ap->ppp_open) break; - if(put_user(ppp_channel_index(&ap->chan), (int *) arg)) + if(put_user(ppp_channel_index(&ap->chan), (int __user *)argp)) break; DEBUG(FS_INFO, "Query channel.\n"); err = 0; @@ -673,7 +674,7 @@ dev_irnet_ioctl(struct inode * inode, case PPPIOCGUNIT: if(!ap->ppp_open) break; - if(put_user(ppp_unit_number(&ap->chan), (int *) arg)) + if(put_user(ppp_unit_number(&ap->chan), (int __user *)argp)) break; DEBUG(FS_INFO, "Query unit number.\n"); err = 0; @@ -703,14 +704,14 @@ dev_irnet_ioctl(struct inode * inode, /* Get termios */ case TCGETS: DEBUG(FS_INFO, "Get termios.\n"); - if(kernel_termios_to_user_termios((struct termios *)arg, &ap->termios)) + if(kernel_termios_to_user_termios((struct termios __user *)argp, &ap->termios)) break; err = 0; break; /* Set termios */ case TCSETSF: DEBUG(FS_INFO, "Set termios.\n"); - if(user_termios_to_kernel_termios(&ap->termios, (struct termios *) arg)) + if(user_termios_to_kernel_termios(&ap->termios, (struct termios __user *)argp)) break; err = 0; break; @@ -743,7 +744,7 @@ dev_irnet_ioctl(struct inode * inode, case FIONREAD: DEBUG(FS_INFO, "FIONREAD\n"); val = 0; - if(put_user(val, (int *) arg)) + if(put_user(val, (int __user *)argp)) break; err = 0; break; @@ -950,6 +951,7 @@ ppp_irnet_ioctl(struct ppp_channel * chan, int err; int val; u32 accm[8]; + void __user *argp = (void __user *)arg; DENTER(PPP_TRACE, "(channel=0x%p, ap=0x%p, cmd=0x%X)\n", chan, ap, cmd); @@ -963,12 +965,12 @@ ppp_irnet_ioctl(struct ppp_channel * chan, /* PPP flags */ case PPPIOCGFLAGS: val = ap->flags | ap->rbits; - if(put_user(val, (int *) arg)) + if(put_user(val, (int __user *) argp)) break; err = 0; break; case PPPIOCSFLAGS: - if(get_user(val, (int *) arg)) + if(get_user(val, (int __user *) argp)) break; ap->flags = val & ~SC_RCV_BITS; ap->rbits = val & SC_RCV_BITS; @@ -977,32 +979,32 @@ ppp_irnet_ioctl(struct ppp_channel * chan, /* Async map stuff - all dummy to please pppd */ case PPPIOCGASYNCMAP: - if(put_user(ap->xaccm[0], (u32 *) arg)) + if(put_user(ap->xaccm[0], (u32 __user *) argp)) break; err = 0; break; case PPPIOCSASYNCMAP: - if(get_user(ap->xaccm[0], (u32 *) arg)) + if(get_user(ap->xaccm[0], (u32 __user *) argp)) break; err = 0; break; case PPPIOCGRASYNCMAP: - if(put_user(ap->raccm, (u32 *) arg)) + if(put_user(ap->raccm, (u32 __user *) argp)) break; err = 0; break; case PPPIOCSRASYNCMAP: - if(get_user(ap->raccm, (u32 *) arg)) + if(get_user(ap->raccm, (u32 __user *) argp)) break; err = 0; break; case PPPIOCGXASYNCMAP: - if(copy_to_user((void *) arg, ap->xaccm, sizeof(ap->xaccm))) + if(copy_to_user(argp, ap->xaccm, sizeof(ap->xaccm))) break; err = 0; break; case PPPIOCSXASYNCMAP: - if(copy_from_user(accm, (void *) arg, sizeof(accm))) + if(copy_from_user(accm, argp, sizeof(accm))) break; accm[2] &= ~0x40000000U; /* can't escape 0x5e */ accm[3] |= 0x60000000U; /* must escape 0x7d, 0x7e */ @@ -1012,12 +1014,12 @@ ppp_irnet_ioctl(struct ppp_channel * chan, /* Max PPP frame size */ case PPPIOCGMRU: - if(put_user(ap->mru, (int *) arg)) + if(put_user(ap->mru, (int __user *) argp)) break; err = 0; break; case PPPIOCSMRU: - if(get_user(val, (int *) arg)) + if(get_user(val, (int __user *) argp)) break; if(val < PPP_MRU) val = PPP_MRU; @@ -1097,7 +1099,7 @@ void __exit irnet_cleanup(void) { irda_irnet_cleanup(); - return ppp_irnet_cleanup(); + ppp_irnet_cleanup(); } /*------------------------------------------------------------------*/ diff --git a/net/irda/irnet/irnet_ppp.h b/net/irda/irnet/irnet_ppp.h index 0c84c8272c1eb..8b4e06c55d5ac 100644 --- a/net/irda/irnet/irnet_ppp.h +++ b/net/irda/irnet/irnet_ppp.h @@ -66,11 +66,11 @@ static int struct file *); static ssize_t dev_irnet_write(struct file *, - const char *, + const char __user *, size_t, loff_t *), dev_irnet_read(struct file *, - char *, + char __user *, size_t, loff_t *); static unsigned int diff --git a/net/irda/irsysctl.c b/net/irda/irsysctl.c index ae25dc3d69a67..995f4e15cce5a 100644 --- a/net/irda/irsysctl.c +++ b/net/irda/irsysctl.c @@ -78,7 +78,7 @@ static int min_lap_keepalive_time = 100; /* 100us */ * us on that - Jean II */ static int do_devname(ctl_table *table, int write, struct file *filp, - void *buffer, size_t *lenp) + void __user *buffer, size_t *lenp) { int ret; -- 2.53.0