From a247c9ecb3b4f8fa50ac934101edd8451baf97b0 Mon Sep 17 00:00:00 2001 From: Alexander Viro Date: Thu, 3 Jun 2004 07:02:54 -0700 Subject: [PATCH] [PATCH] sparse: atm annotation - drivers The rest of ATM annotation: drivers. --- drivers/atm/atmtcp.c | 4 ++-- drivers/atm/eni.c | 10 +++++----- drivers/atm/firestream.c | 6 +++--- drivers/atm/fore200e.c | 16 ++++++++-------- drivers/atm/fore200e.h | 4 ++-- drivers/atm/he.c | 10 +++++----- drivers/atm/idt77105.c | 11 +++++------ drivers/atm/iphase.c | 12 ++++++------ drivers/atm/iphase.h | 2 +- drivers/atm/lanai.c | 2 +- drivers/atm/nicstar.c | 10 +++++----- drivers/atm/suni.c | 23 +++++++++++------------ drivers/atm/uPD98402.c | 15 +++++++-------- drivers/atm/zatm.c | 14 +++++++------- drivers/usb/misc/speedtch.c | 6 +++--- 15 files changed, 71 insertions(+), 74 deletions(-) diff --git a/drivers/atm/atmtcp.c b/drivers/atm/atmtcp.c index aa1cbe395814f..0572f724bc500 100644 --- a/drivers/atm/atmtcp.c +++ b/drivers/atm/atmtcp.c @@ -152,7 +152,7 @@ static void atmtcp_v_close(struct atm_vcc *vcc) } -static int atmtcp_v_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int atmtcp_v_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { struct atm_cirange ci; struct atm_vcc *vcc; @@ -161,7 +161,7 @@ static int atmtcp_v_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) int i; if (cmd != ATM_SETCIRANGE) return -ENOIOCTLCMD; - if (copy_from_user(&ci,(void *) arg,sizeof(ci))) return -EFAULT; + if (copy_from_user(&ci, arg,sizeof(ci))) return -EFAULT; if (ci.vpi_bits == ATM_CI_MAX) ci.vpi_bits = MAX_VPI_BITS; if (ci.vci_bits == ATM_CI_MAX) ci.vci_bits = MAX_VCI_BITS; if (ci.vpi_bits > MAX_VPI_BITS || ci.vpi_bits < 0 || diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c index b760589009edb..8b137034d22bb 100644 --- a/drivers/atm/eni.c +++ b/drivers/atm/eni.c @@ -1968,7 +1968,7 @@ static int eni_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flgs) } -static int eni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int eni_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { struct eni_dev *eni_dev = ENI_DEV(dev); @@ -1983,7 +1983,7 @@ static int eni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) struct eni_multipliers mult; if (!capable(CAP_NET_ADMIN)) return -EPERM; - if (copy_from_user(&mult,(void *) arg, + if (copy_from_user(&mult, arg, sizeof(struct eni_multipliers))) return -EFAULT; if ((mult.tx && mult.tx <= 100) || (mult.rx &&mult.rx <= 100) || @@ -1996,7 +1996,7 @@ static int eni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) if (cmd == ATM_SETCIRANGE) { struct atm_cirange ci; - if (copy_from_user(&ci,(void *) arg,sizeof(struct atm_cirange))) + if (copy_from_user(&ci, arg,sizeof(struct atm_cirange))) return -EFAULT; if ((ci.vpi_bits == 0 || ci.vpi_bits == ATM_CI_MAX) && (ci.vci_bits == NR_VCI_LD || ci.vpi_bits == ATM_CI_MAX)) @@ -2009,14 +2009,14 @@ static int eni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) static int eni_getsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { return -EINVAL; } static int eni_setsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { return -EINVAL; } diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c index f45adbb4c59f9..025c692fd1e0f 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c @@ -1220,7 +1220,7 @@ static int fs_send (struct atm_vcc *atm_vcc, struct sk_buff *skb) /* Some function placeholders for functions we don't yet support. */ #if 0 -static int fs_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int fs_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { func_enter (); func_exit (); @@ -1229,7 +1229,7 @@ static int fs_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) static int fs_getsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { func_enter (); func_exit (); @@ -1238,7 +1238,7 @@ static int fs_getsockopt(struct atm_vcc *vcc,int level,int optname, static int fs_setsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { func_enter (); func_exit (); diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c index 8e5402052ae8e..e33b5357ec5ec 100644 --- a/drivers/atm/fore200e.c +++ b/drivers/atm/fore200e.c @@ -1911,7 +1911,7 @@ fore200e_getstats(struct fore200e* fore200e) static int -fore200e_getsockopt(struct atm_vcc* vcc, int level, int optname, void* optval, int optlen) +fore200e_getsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, int optlen) { /* struct fore200e* fore200e = FORE200E_DEV(vcc->dev); */ @@ -1923,7 +1923,7 @@ fore200e_getsockopt(struct atm_vcc* vcc, int level, int optname, void* optval, i static int -fore200e_setsockopt(struct atm_vcc* vcc, int level, int optname, void* optval, int optlen) +fore200e_setsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, int optlen) { /* struct fore200e* fore200e = FORE200E_DEV(vcc->dev); */ @@ -2059,7 +2059,7 @@ fore200e_swap(unsigned int in) static int -fore200e_fetch_stats(struct fore200e* fore200e, struct sonet_stats* arg) +fore200e_fetch_stats(struct fore200e* fore200e, struct sonet_stats __user *arg) { struct sonet_stats tmp; @@ -2088,7 +2088,7 @@ fore200e_fetch_stats(struct fore200e* fore200e, struct sonet_stats* arg) static int -fore200e_ioctl(struct atm_dev* dev, unsigned int cmd, void* arg) +fore200e_ioctl(struct atm_dev* dev, unsigned int cmd, void __user * arg) { struct fore200e* fore200e = FORE200E_DEV(dev); @@ -2097,19 +2097,19 @@ fore200e_ioctl(struct atm_dev* dev, unsigned int cmd, void* arg) switch (cmd) { case SONET_GETSTAT: - return fore200e_fetch_stats(fore200e, (struct sonet_stats*)arg); + return fore200e_fetch_stats(fore200e, (struct sonet_stats __user *)arg); case SONET_GETDIAG: - return put_user(0, (int*)arg) ? -EFAULT : 0; + return put_user(0, (int __user *)arg) ? -EFAULT : 0; case ATM_SETLOOP: return fore200e_setloop(fore200e, (int)(unsigned long)arg); case ATM_GETLOOP: - return put_user(fore200e->loop_mode, (int*)arg) ? -EFAULT : 0; + return put_user(fore200e->loop_mode, (int __user *)arg) ? -EFAULT : 0; case ATM_QUERYLOOP: - return put_user(ATM_LM_LOC_PHY | ATM_LM_RMT_PHY, (int*)arg) ? -EFAULT : 0; + return put_user(ATM_LM_LOC_PHY | ATM_LM_RMT_PHY, (int __user *)arg) ? -EFAULT : 0; } return -ENOSYS; /* not implemented */ diff --git a/drivers/atm/fore200e.h b/drivers/atm/fore200e.h index 3a627b50e6603..aca550b664198 100644 --- a/drivers/atm/fore200e.h +++ b/drivers/atm/fore200e.h @@ -556,7 +556,7 @@ typedef struct host_bsq_entry { typedef struct host_cmdq_entry { struct cp_cmdq_entry* cp_entry; /* addr of cp resident cmd queue entry */ - enum status* status; /* addr of host resident status */ + enum status *status; /* addr of host resident status */ } host_cmdq_entry_t; @@ -668,7 +668,7 @@ typedef struct bs_spec { typedef struct init_block { enum opcode opcode; /* initialize command */ - enum status status; /* related status word */ + enum status status; /* related status word */ u32 receive_threshold; /* not used */ u32 num_connect; /* ATM connections */ u32 cmd_queue_len; /* length of command queue */ diff --git a/drivers/atm/he.c b/drivers/atm/he.c index 72123ecfb3b7e..ad746d981c7c5 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -134,7 +134,7 @@ static char *version = "$Id: he.c,v 1.18 2003/05/06 22:57:15 chas Exp $"; static int he_open(struct atm_vcc *vcc); static void he_close(struct atm_vcc *vcc); static int he_send(struct atm_vcc *vcc, struct sk_buff *skb); -static int he_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg); +static int he_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg); static irqreturn_t he_irq_handler(int irq, void *dev_id, struct pt_regs *regs); static void he_tasklet(unsigned long data); static int he_proc_read(struct atm_dev *dev,loff_t *pos,char *page); @@ -2809,7 +2809,7 @@ he_send(struct atm_vcc *vcc, struct sk_buff *skb) } static int -he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void *arg) +he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void __user *arg) { unsigned long flags; struct he_dev *he_dev = HE_DEV(atm_dev); @@ -2821,8 +2821,8 @@ he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void *arg) if (!capable(CAP_NET_ADMIN)) return -EPERM; - if (copy_from_user(®, (struct he_ioctl_reg *) arg, - sizeof(struct he_ioctl_reg))) + if (copy_from_user(®, arg, + sizeof(struct he_ioctl_reg))) return -EFAULT; spin_lock_irqsave(&he_dev->global_lock, flags); @@ -2848,7 +2848,7 @@ he_ioctl(struct atm_dev *atm_dev, unsigned int cmd, void *arg) } spin_unlock_irqrestore(&he_dev->global_lock, flags); if (err == 0) - if (copy_to_user((struct he_ioctl_reg *) arg, ®, + if (copy_to_user(arg, ®, sizeof(struct he_ioctl_reg))) return -EFAULT; break; diff --git a/drivers/atm/idt77105.c b/drivers/atm/idt77105.c index c95ca296bcb46..c1fb6c710617f 100644 --- a/drivers/atm/idt77105.c +++ b/drivers/atm/idt77105.c @@ -141,7 +141,7 @@ static void idt77105_restart_timer_func(unsigned long dummy) } -static int fetch_stats(struct atm_dev *dev,struct idt77105_stats *arg,int zero) +static int fetch_stats(struct atm_dev *dev,struct idt77105_stats __user *arg,int zero) { unsigned long flags; struct idt77105_stats stats; @@ -188,7 +188,7 @@ static int set_loopback(struct atm_dev *dev,int mode) } -static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { printk(KERN_NOTICE "%s(%d) idt77105_ioctl() called\n",dev->type,dev->number); switch (cmd) { @@ -196,16 +196,15 @@ static int idt77105_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) if (!capable(CAP_NET_ADMIN)) return -EPERM; /* fall through */ case IDT77105_GETSTAT: - return fetch_stats(dev,(struct idt77105_stats *) arg, - cmd == IDT77105_GETSTATZ); + return fetch_stats(dev, arg, cmd == IDT77105_GETSTATZ); case ATM_SETLOOP: return set_loopback(dev,(int) (long) arg); case ATM_GETLOOP: - return put_user(PRIV(dev)->loop_mode,(int *) arg) ? + return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? -EFAULT : 0; case ATM_QUERYLOOP: return put_user(ATM_LM_LOC_ATM | ATM_LM_RMT_ATM, - (int *) arg) ? -EFAULT : 0; + (int __user *) arg) ? -EFAULT : 0; default: return -ENOIOCTLCMD; } diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c index 2b6b9c6ebceca..3c964ecfb15d1 100644 --- a/drivers/atm/iphase.c +++ b/drivers/atm/iphase.c @@ -2738,12 +2738,12 @@ static int ia_change_qos(struct atm_vcc *vcc, struct atm_qos *qos, int flags) return 0; } -static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) +static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg) { IA_CMDBUF ia_cmds; IADEV *iadev; int i, board; - u16 *tmps; + u16 __user *tmps; IF_EVENT(printk(">ia_ioctl\n");) if (cmd != IA_CMD) { if (!dev->phy->ioctl) return -EINVAL; @@ -2766,7 +2766,7 @@ static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) break; case MEMDUMP_SEGREG: if (!capable(CAP_NET_ADMIN)) return -EPERM; - tmps = (u16 *)ia_cmds.buf; + tmps = (u16 __user *)ia_cmds.buf; for(i=0; i<0x80; i+=2, tmps++) if(put_user((u16)(readl(iadev->seg_reg+i) & 0xffff), tmps)) return -EFAULT; ia_cmds.status = 0; @@ -2774,7 +2774,7 @@ static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) break; case MEMDUMP_REASSREG: if (!capable(CAP_NET_ADMIN)) return -EPERM; - tmps = (u16 *)ia_cmds.buf; + tmps = (u16 __user *)ia_cmds.buf; for(i=0; i<0x80; i+=2, tmps++) if(put_user((u16)(readl(iadev->reass_reg+i) & 0xffff), tmps)) return -EFAULT; ia_cmds.status = 0; @@ -2874,14 +2874,14 @@ static int ia_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) } static int ia_getsockopt(struct atm_vcc *vcc, int level, int optname, - void *optval, int optlen) + void __user *optval, int optlen) { IF_EVENT(printk(">ia_getsockopt\n");) return -EINVAL; } static int ia_setsockopt(struct atm_vcc *vcc, int level, int optname, - void *optval, int optlen) + void __user *optval, int optlen) { IF_EVENT(printk(">ia_setsockopt\n");) return -EINVAL; diff --git a/drivers/atm/iphase.h b/drivers/atm/iphase.h index 1134bda43854a..92e514c79c484 100644 --- a/drivers/atm/iphase.h +++ b/drivers/atm/iphase.h @@ -141,7 +141,7 @@ typedef struct { int len; u32 maddr; int status; - void *buf; + void __user *buf; } IA_CMDBUF, *PIA_CMDBUF; /* cmds */ diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c index 5a7037af6adda..ac80b9efdbe53 100644 --- a/drivers/atm/lanai.c +++ b/drivers/atm/lanai.c @@ -2435,7 +2435,7 @@ static int lanai_open(struct atm_vcc *atmvcc) #if 0 /* ioctl operations for card */ /* NOTE: these are all DEBUGGING ONLY currently */ -static int lanai_ioctl(struct atm_dev *atmdev, unsigned int cmd, void *arg) +static int lanai_ioctl(struct atm_dev *atmdev, unsigned int cmd, void __user *arg) { int result = 0; struct lanai_dev *lanai = (struct lanai_dev *) atmdev->dev_data; diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index 11875f784cf1c..b63669c1f7e1d 100644 --- a/drivers/atm/nicstar.c +++ b/drivers/atm/nicstar.c @@ -239,7 +239,7 @@ static void recycle_iov_buf(ns_dev *card, struct sk_buff *iovb); static void dequeue_sm_buf(ns_dev *card, struct sk_buff *sb); static void dequeue_lg_buf(ns_dev *card, struct sk_buff *lb); static int ns_proc_read(struct atm_dev *dev, loff_t *pos, char *page); -static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg); +static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg); static void which_list(ns_dev *card, struct sk_buff *skb); static void ns_poll(unsigned long arg); static int ns_parse_mac(char *mac, unsigned char *esi); @@ -2765,7 +2765,7 @@ static int ns_proc_read(struct atm_dev *dev, loff_t *pos, char *page) -static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) +static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg) { ns_dev *card; pool_levels pl; @@ -2776,7 +2776,7 @@ static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) switch (cmd) { case NS_GETPSTAT: - if (get_user(pl.buftype, &((pool_levels *) arg)->buftype)) + if (get_user(pl.buftype, &((pool_levels __user *) arg)->buftype)) return -EFAULT; switch (pl.buftype) { @@ -2812,7 +2812,7 @@ static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) return -ENOIOCTLCMD; } - if (!copy_to_user((pool_levels *) arg, &pl, sizeof(pl))) + if (!copy_to_user((pool_levels __user *) arg, &pl, sizeof(pl))) return (sizeof(pl)); else return -EFAULT; @@ -2820,7 +2820,7 @@ static int ns_ioctl(struct atm_dev *dev, unsigned int cmd, void *arg) case NS_SETBUFLEV: if (!capable(CAP_NET_ADMIN)) return -EPERM; - if (copy_from_user(&pl, (pool_levels *) arg, sizeof(pl))) + if (copy_from_user(&pl, (pool_levels __user *) arg, sizeof(pl))) return -EFAULT; if (pl.level.min >= pl.level.init || pl.level.init >= pl.level.max) return -EINVAL; diff --git a/drivers/atm/suni.c b/drivers/atm/suni.c index e245e94bd2c70..e5a0f5cbdc214 100644 --- a/drivers/atm/suni.c +++ b/drivers/atm/suni.c @@ -95,7 +95,7 @@ static void suni_hz(unsigned long from_timer) #undef ADD_LIMITED -static int fetch_stats(struct atm_dev *dev,struct sonet_stats *arg,int zero) +static int fetch_stats(struct atm_dev *dev,struct sonet_stats __user *arg,int zero) { struct sonet_stats tmp; int error = 0; @@ -115,11 +115,11 @@ static int fetch_stats(struct atm_dev *dev,struct sonet_stats *arg,int zero) } -static int change_diag(struct atm_dev *dev,void *arg,int set) +static int change_diag(struct atm_dev *dev,void __user *arg,int set) { int todo; - if (get_user(todo,(int *) arg)) return -EFAULT; + if (get_user(todo,(int __user *)arg)) return -EFAULT; HANDLE_FLAG(SONET_INS_SBIP,TSOP_DIAG,SUNI_TSOP_DIAG_DBIP8); HANDLE_FLAG(SONET_INS_LBIP,TLOP_DIAG,SUNI_TLOP_DIAG_DBIP); HANDLE_FLAG(SONET_INS_PBIP,TPOP_CD,SUNI_TPOP_DIAG_DB3); @@ -128,14 +128,14 @@ static int change_diag(struct atm_dev *dev,void *arg,int set) HANDLE_FLAG(SONET_INS_PAIS,TPOP_CD,SUNI_TPOP_DIAG_PAIS); HANDLE_FLAG(SONET_INS_LOS,TSOP_DIAG,SUNI_TSOP_DIAG_DLOS); HANDLE_FLAG(SONET_INS_HCS,TACP_CS,SUNI_TACP_CS_DHCS); - return put_user(todo,(int *) arg) ? -EFAULT : 0; + return put_user(todo,(int __user *)arg) ? -EFAULT : 0; } #undef HANDLE_FLAG -static int get_diag(struct atm_dev *dev,void *arg) +static int get_diag(struct atm_dev *dev,void __user *arg) { int set; @@ -148,7 +148,7 @@ static int get_diag(struct atm_dev *dev,void *arg) if (GET(TPOP_CD) & SUNI_TPOP_DIAG_PAIS) set |= SONET_INS_PAIS; if (GET(TSOP_DIAG) & SUNI_TSOP_DIAG_DLOS) set |= SONET_INS_LOS; if (GET(TACP_CS) & SUNI_TACP_CS_DHCS) set |= SONET_INS_HCS; - return put_user(set,(int *) arg) ? -EFAULT : 0; + return put_user(set,(int __user *)arg) ? -EFAULT : 0; } @@ -175,13 +175,12 @@ static int set_loopback(struct atm_dev *dev,int mode) } -static int suni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int suni_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { switch (cmd) { case SONET_GETSTATZ: case SONET_GETSTAT: - return fetch_stats(dev,(struct sonet_stats *) arg, - cmd == SONET_GETSTATZ); + return fetch_stats(dev, arg, cmd == SONET_GETSTATZ); case SONET_SETDIAG: return change_diag(dev,arg,1); case SONET_CLRDIAG: @@ -192,18 +191,18 @@ static int suni_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) if (arg != SONET_FRAME_SONET) return -EINVAL; return 0; case SONET_GETFRAMING: - return put_user(SONET_FRAME_SONET,(int *) arg) ? + return put_user(SONET_FRAME_SONET,(int __user *)arg) ? -EFAULT : 0; case SONET_GETFRSENSE: return -EINVAL; case ATM_SETLOOP: return set_loopback(dev,(int) (long) arg); case ATM_GETLOOP: - return put_user(PRIV(dev)->loop_mode,(int *) arg) ? + return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? -EFAULT : 0; case ATM_QUERYLOOP: return put_user(ATM_LM_LOC_PHY | ATM_LM_RMT_PHY, - (int *) arg) ? -EFAULT : 0; + (int __user *) arg) ? -EFAULT : 0; default: return -ENOIOCTLCMD; } diff --git a/drivers/atm/uPD98402.c b/drivers/atm/uPD98402.c index 0bc05c960ce4a..da33eaddc8085 100644 --- a/drivers/atm/uPD98402.c +++ b/drivers/atm/uPD98402.c @@ -37,7 +37,7 @@ struct uPD98402_priv { #define GET(reg) dev->ops->phy_get(dev,uPD98402_##reg) -static int fetch_stats(struct atm_dev *dev,struct sonet_stats *arg,int zero) +static int fetch_stats(struct atm_dev *dev,struct sonet_stats __user *arg,int zero) { struct sonet_stats tmp; int error = 0; @@ -83,7 +83,7 @@ static int set_framing(struct atm_dev *dev,unsigned char framing) } -static int get_sense(struct atm_dev *dev,u8 *arg) +static int get_sense(struct atm_dev *dev,u8 __user *arg) { unsigned long flags; unsigned char s[3]; @@ -132,29 +132,28 @@ static int set_loopback(struct atm_dev *dev,int mode) } -static int uPD98402_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int uPD98402_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { switch (cmd) { case SONET_GETSTATZ: case SONET_GETSTAT: - return fetch_stats(dev,(struct sonet_stats *) arg, - cmd == SONET_GETSTATZ); + return fetch_stats(dev,arg, cmd == SONET_GETSTATZ); case SONET_SETFRAMING: return set_framing(dev,(int) (long) arg); case SONET_GETFRAMING: - return put_user(PRIV(dev)->framing,(int *) arg) ? + return put_user(PRIV(dev)->framing,(int __user *)arg) ? -EFAULT : 0; case SONET_GETFRSENSE: return get_sense(dev,arg); case ATM_SETLOOP: return set_loopback(dev,(int) (long) arg); case ATM_GETLOOP: - return put_user(PRIV(dev)->loop_mode,(int *) arg) ? + return put_user(PRIV(dev)->loop_mode,(int __user *)arg) ? -EFAULT : 0; case ATM_QUERYLOOP: return put_user(ATM_LM_LOC_PHY | ATM_LM_LOC_ATM | - ATM_LM_RMT_PHY,(int *) arg) ? -EFAULT : 0; + ATM_LM_RMT_PHY,(int __user *)arg) ? -EFAULT : 0; default: return -ENOIOCTLCMD; } diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c index 9027baa42dddc..88d548a18bb02 100644 --- a/drivers/atm/zatm.c +++ b/drivers/atm/zatm.c @@ -1429,7 +1429,7 @@ static int zatm_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flags) } -static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) +static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void __user *arg) { struct zatm_dev *zatm_dev; unsigned long flags; @@ -1445,7 +1445,7 @@ static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) int pool; if (get_user(pool, - &((struct zatm_pool_req *) arg)->pool_num)) + &((struct zatm_pool_req __user *) arg)->pool_num)) return -EFAULT; if (pool < 0 || pool > ZATM_LAST_POOL) return -EINVAL; @@ -1457,7 +1457,7 @@ static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) } spin_unlock_irqrestore(&zatm_dev->lock, flags); return copy_to_user( - &((struct zatm_pool_req *) arg)->info, + &((struct zatm_pool_req __user *) arg)->info, &info,sizeof(info)) ? -EFAULT : 0; } case ZATM_SETPOOL: @@ -1467,12 +1467,12 @@ static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) if (!capable(CAP_NET_ADMIN)) return -EPERM; if (get_user(pool, - &((struct zatm_pool_req *) arg)->pool_num)) + &((struct zatm_pool_req __user *) arg)->pool_num)) return -EFAULT; if (pool < 0 || pool > ZATM_LAST_POOL) return -EINVAL; if (copy_from_user(&info, - &((struct zatm_pool_req *) arg)->info, + &((struct zatm_pool_req __user *) arg)->info, sizeof(info))) return -EFAULT; if (!info.low_water) info.low_water = zatm_dev-> @@ -1504,14 +1504,14 @@ static int zatm_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg) static int zatm_getsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { return -EINVAL; } static int zatm_setsockopt(struct atm_vcc *vcc,int level,int optname, - void *optval,int optlen) + void __user *optval,int optlen) { return -EINVAL; } diff --git a/drivers/usb/misc/speedtch.c b/drivers/usb/misc/speedtch.c index f9609d0604108..d6e195820e9b7 100644 --- a/drivers/usb/misc/speedtch.c +++ b/drivers/usb/misc/speedtch.c @@ -269,7 +269,7 @@ struct udsl_instance_data { static void udsl_atm_dev_close (struct atm_dev *dev); static int udsl_atm_open (struct atm_vcc *vcc); static void udsl_atm_close (struct atm_vcc *vcc); -static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void *arg); +static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void __user *arg); static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb); static int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t *pos, char *page); @@ -991,11 +991,11 @@ static void udsl_atm_close (struct atm_vcc *vcc) dbg ("udsl_atm_close successful"); } -static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void *arg) +static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void __user *arg) { switch (cmd) { case ATM_QUERYLOOP: - return put_user (ATM_LM_NONE, (int *) arg) ? -EFAULT : 0; + return put_user (ATM_LM_NONE, (int __user *)arg) ? -EFAULT : 0; default: return -ENOIOCTLCMD; } -- 2.53.0