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-stable/attachments/20180409/3e6e3464/attachment.sig>
More information about the svn-src-stable
mailing list