svn commit: r332288 - in stable/11/sys: dev/an dev/ath dev/cxgbe dev/de dev/en dev/fatm dev/hatm dev/if_ndis dev/iwi dev/ixgbe dev/ixl dev/mlx4/mlx4_en dev/mlx5/mlx5_en dev/mwl dev/nxge dev/oce dev...

Glen Barber gjb at FreeBSD.org
Mon Apr 9 13:58:52 UTC 2018


On Sun, Apr 08, 2018 at 04:54:07PM +0000, Brooks Davis wrote:
> Author: brooks
> Date: Sun Apr  8 16:54:07 2018
> New Revision: 332288
> URL: https://svnweb.freebsd.org/changeset/base/332288
> 
> Log:
>   MFC r331797:
>   
>   Use an accessor function to access ifr_data.
>   
>   This fixes 32-bit compat (no ioctl command defintions are required
>   as struct ifreq is the same size).
>   
>   Reviewed by:	kib
>   Obtained from:	CheriBSD
>   Sponsored by:	DARPA, AFRL
>   Differential Revision:	https://reviews.freebsd.org/D14900
> 
> Modified:
[...]
>   stable/11/sys/dev/wl/if_wl.c

> Directory Properties:
>   stable/11/   (props changed)
> 
[...]
> Modified: stable/11/sys/dev/wl/if_wl.c
> ==============================================================================
> --- stable/11/sys/dev/wl/if_wl.c	Sun Apr  8 16:46:24 2018	(r332287)
> +++ stable/11/sys/dev/wl/if_wl.c	Sun Apr  8 16:54:07 2018	(r332288)
> @@ -1313,7 +1313,7 @@ wlioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
>  	}
>  	WL_UNLOCK(sc);
>  
> -	error = copyout(psa_buf, ifr->ifr_data, sizeof(psa_buf));
> +	error = copyout(psa_buf, ifr_data_get_ptr(ifr), sizeof(psa_buf));
>  	break;
>  
>  
> @@ -1323,7 +1323,7 @@ wlioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
>  	if ((error = priv_check(td, PRIV_DRIVER)))
>  	    break;
>  
> -	error = copyin(ifr->ifr_data, psa_buf, sizeof(psa_buf));
> +	error = copyin(ifr_data_get_ptr(ifr), psa_buf, sizeof(psa_buf));
>  	if (error)
>  	    break;
>  	
> @@ -1357,7 +1357,7 @@ wlioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
>  	/* get the current NWID out of the sc since we stored it there */
>      case SIOCGWLCNWID:
>  	WL_LOCK(sc);
> -	ifr->ifr_data = (caddr_t) (sc->nwid[0] << 8 | sc->nwid[1]);
> +	ifr_data_get_ptr(ifr) = (caddr_t) (sc->nwid[0] << 8 | sc->nwid[1]);
>  	WL_UNLOCK(sc);
>  	break;
>  

This part of the change appears to have broken i386 with the following:

 /usr/src/sys/modules/wl/../../dev/wl/if_wl.c:1360:24: error: expression is not assignable
         ifr_data_get_ptr(ifr) = (caddr_t) (sc->nwid[0] << 8 | sc->nwid[1]);
        ~~~~~~~~~~~~~~~~~~~~~ ^
 1 error generated.
 --- if_wl.o ---
 *** [if_wl.o] Error code 1

 make[4]: stopped in /usr/src/sys/modules/wl
 1 error

Glen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20180409/3e6e3464/attachment.sig>


More information about the svn-src-all mailing list