Date: Mon, 9 Apr 2018 09:11:44 -0600 From: Warner Losh <imp@bsdimp.com> To: Glen Barber <gjb@freebsd.org> Cc: Brooks Davis <brooks@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: 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... Message-ID: <CANCZdfr3Nm3C3nSNw%2Bh8LJeH3RyrkXsqHyW4yiW32qA4SUVxJQ@mail.gmail.com> In-Reply-To: <20180409135849.GA84067@FreeBSD.org> References: <201804081654.w38Gs7JY007779@repo.freebsd.org> <20180409135849.GA84067@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Apr 9, 2018 at 7:58 AM, Glen Barber <gjb@freebsd.org> wrote: > 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 > wl has been removed in -current. It's pre-802.11 ISA card with thin market penetration. I would be shocked if anybody has run this on a FreeBSD system > 4.x. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfr3Nm3C3nSNw%2Bh8LJeH3RyrkXsqHyW4yiW32qA4SUVxJQ>