Message ID | 20130211082228.1f1d7f88@nehalam.linuxnetplumber.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 2013-02-11 at 08:22 -0800, Stephen Hemminger wrote: > Fixes sparse complaints about dropping __user in casts. > warning: cast removes address space of expression > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ben Hutchings <bhutchings@solarflare.com> > > --- a/net/socket.c 2013-02-11 08:17:45.081011548 -0800 > +++ b/net/socket.c 2013-02-11 08:19:52.743355382 -0800 > @@ -2837,7 +2837,7 @@ static int ethtool_ioctl(struct net *net > } > > ifr = compat_alloc_user_space(buf_size); > - rxnfc = (void *)ifr + ALIGN(sizeof(struct ifreq), 8); > + rxnfc = (void __user *)ifr + ALIGN(sizeof(struct ifreq), 8); > > if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ)) > return -EFAULT; > @@ -2861,12 +2861,12 @@ static int ethtool_ioctl(struct net *net > offsetof(struct ethtool_rxnfc, fs.ring_cookie)); > > if (copy_in_user(rxnfc, compat_rxnfc, > - (void *)(&rxnfc->fs.m_ext + 1) - > - (void *)rxnfc) || > + (void __user *)(&rxnfc->fs.m_ext + 1) - > + (void __user *)rxnfc) || > copy_in_user(&rxnfc->fs.ring_cookie, > &compat_rxnfc->fs.ring_cookie, > - (void *)(&rxnfc->fs.location + 1) - > - (void *)&rxnfc->fs.ring_cookie) || > + (void __user *)(&rxnfc->fs.location + 1) - > + (void __user *)&rxnfc->fs.ring_cookie) || > copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt, > sizeof(rxnfc->rule_cnt))) > return -EFAULT; > @@ -2878,12 +2878,12 @@ static int ethtool_ioctl(struct net *net > > if (convert_out) { > if (copy_in_user(compat_rxnfc, rxnfc, > - (const void *)(&rxnfc->fs.m_ext + 1) - > - (const void *)rxnfc) || > + (const void __user *)(&rxnfc->fs.m_ext + 1) - > + (const void __user *)rxnfc) || > copy_in_user(&compat_rxnfc->fs.ring_cookie, > &rxnfc->fs.ring_cookie, > - (const void *)(&rxnfc->fs.location + 1) - > - (const void *)&rxnfc->fs.ring_cookie) || > + (const void __user *)(&rxnfc->fs.location + 1) - > + (const void __user *)&rxnfc->fs.ring_cookie) || > copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt, > sizeof(rxnfc->rule_cnt))) > return -EFAULT;
From: Stephen Hemminger <stephen@networkplumber.org> Date: Mon, 11 Feb 2013 08:22:28 -0800 > Fixes sparse complaints about dropping __user in casts. > warning: cast removes address space of expression > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
--- a/net/socket.c 2013-02-11 08:17:45.081011548 -0800 +++ b/net/socket.c 2013-02-11 08:19:52.743355382 -0800 @@ -2837,7 +2837,7 @@ static int ethtool_ioctl(struct net *net } ifr = compat_alloc_user_space(buf_size); - rxnfc = (void *)ifr + ALIGN(sizeof(struct ifreq), 8); + rxnfc = (void __user *)ifr + ALIGN(sizeof(struct ifreq), 8); if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ)) return -EFAULT; @@ -2861,12 +2861,12 @@ static int ethtool_ioctl(struct net *net offsetof(struct ethtool_rxnfc, fs.ring_cookie)); if (copy_in_user(rxnfc, compat_rxnfc, - (void *)(&rxnfc->fs.m_ext + 1) - - (void *)rxnfc) || + (void __user *)(&rxnfc->fs.m_ext + 1) - + (void __user *)rxnfc) || copy_in_user(&rxnfc->fs.ring_cookie, &compat_rxnfc->fs.ring_cookie, - (void *)(&rxnfc->fs.location + 1) - - (void *)&rxnfc->fs.ring_cookie) || + (void __user *)(&rxnfc->fs.location + 1) - + (void __user *)&rxnfc->fs.ring_cookie) || copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt, sizeof(rxnfc->rule_cnt))) return -EFAULT; @@ -2878,12 +2878,12 @@ static int ethtool_ioctl(struct net *net if (convert_out) { if (copy_in_user(compat_rxnfc, rxnfc, - (const void *)(&rxnfc->fs.m_ext + 1) - - (const void *)rxnfc) || + (const void __user *)(&rxnfc->fs.m_ext + 1) - + (const void __user *)rxnfc) || copy_in_user(&compat_rxnfc->fs.ring_cookie, &rxnfc->fs.ring_cookie, - (const void *)(&rxnfc->fs.location + 1) - - (const void *)&rxnfc->fs.ring_cookie) || + (const void __user *)(&rxnfc->fs.location + 1) - + (const void __user *)&rxnfc->fs.ring_cookie) || copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt, sizeof(rxnfc->rule_cnt))) return -EFAULT;
Fixes sparse complaints about dropping __user in casts. warning: cast removes address space of expression Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html