On Mon, Apr 09, 2018 at 09:11:44AM -0600, Warner Losh wrote:
> On Mon, Apr 9, 2018 at 7:58 AM, Glen Barber <g...@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.
> 

This commit is to stable/11.

Glen

Attachment: signature.asc
Description: PGP signature

Reply via email to