On Sun, Mar 10, 2019 at 8:12 PM Rodney W. Grimes <free...@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.



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 rgri...@freebsd.org



_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to