svn commit: r344990 - in head: share/man/man9 sys/dev/ath sys/dev/bwi sys/dev/bwn sys/dev/ipw sys/dev/iwi sys/dev/iwm sys/dev/iwn sys/dev/malo sys/dev/mwl sys/dev/otus sys/dev/ral sys/dev/rtwn sys/...
Rodney W. Grimes
freebsd at gndrsh.dnsmgr.net
Mon Mar 11 16:18:10 UTC 2019
> > On Sun, Mar 10, 2019 at 8:12 PM Rodney W. Grimes
> > <freebsd at gndrsh.dnsmgr.net> wrote:
> >>> Author: avos
> >>
> >>> Date: Mon Mar 11 01:27:01 2019
> >>
> >>> New Revision: 344990
> >>
> >>> URL: https://svnweb.freebsd.org/changeset/base/344990
> >>
> >>>
> >>
> >>> Log:
> >>
> >>> Fix ieee80211_radiotap(9) usage in wireless drivers:
> >>
> >>>
> >>
> >>> - Alignment issues:
> >>
> >>> * Add missing __packed attributes + padding across all drivers; in
> >>> most places there was an assumption that padding will be always
> >>> minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
> >>> padding was just missing.
> >>> * Add __aligned(8) attribute for all Rx radiotap headers since they
> >>> can
> >>> contain 64-bit TSF timestamp; it cannot appear in Tx radiotap
> >>> headers, so
> >>> just drop the attribute here. Refresh ieee80211_radiotap(9) man page
> >>> accordingly.
> >>>
> >>> - Since net80211 automatically updates channel frequency / flags in
> >>> ieee80211_radiotap_chan_change() drop duplicate setup for these
> >>> fields
> >>> in drivers.
> >>>
> >>> Tested with Netgear WG111 v3 (urtw(4)), STA mode.
> >>>
> >>> MFC after: 2 weeks
> >>
> >> Isnt this going to seriously break module load compatibility
> >> due to struct size and alignment changes if you merge this to stable/12?
> >
> > It looks like all these changes are within the modules, not in the
> > KBI... It looks like this will make things work >better on architectures
> > that don't like unaligned accesses. It seems like modules that aren't
> > updated don't work today >on those architectures...
>
> Yes, only drivers are touched - updated structures and
> driver's softc (where they are stored) are not exposed
> to other modules, so there is no need to keep size /
> offsets for structure members + the commit removes
> unaligned access, so urtw(4) (for example) will not work
> without this change on architectures, where unaligned
> access is prohibited.
Thanks for the comfirmation.
> > Warner
> >>> Modified:
> >>> head/share/man/man9/ieee80211_radiotap.9
> >>> head/sys/dev/ath/if_athioctl.h
> >>> head/sys/dev/bwi/if_bwi.c
> >>> head/sys/dev/bwi/if_bwivar.h
> >>> head/sys/dev/bwn/if_bwn.c
> >>> head/sys/dev/bwn/if_bwnvar.h
> >> ...
> >> --
> >> Rod Grimes
> >> rgrimes at freebsd.org
--
Rod Grimes rgrimes at freebsd.org
More information about the svn-src-all
mailing list