Panic in stable/11 (amd64) @r303903: page fault while in kernel mode

Adrian Chadd adrian at freebsd.org
Fri Aug 12 18:01:27 UTC 2016


David,

Totally untested; will need manual application as I bet this patch is mangled.

Would you mind testing this? I have a feeling we need to add if_addr
lock calls in a few places.

Thanks,


-adrian

Index: sys/net80211/ieee80211_ioctl.c
===================================================================
--- sys/net80211/ieee80211_ioctl.c (revision 303738)
+++ sys/net80211/ieee80211_ioctl.c (working copy)
@@ -3389,15 +3389,16 @@
  /* Wait for parent ioctl handler if it was queued */
  if (wait) {
  ieee80211_waitfor_parent(ic);
-
  /*
  * Check if the MAC address was changed
  * via SIOCSIFLLADDR ioctl.
  */
+ if_addr_rlock(ifp);
  if ((ifp->if_flags & IFF_UP) == 0 &&
      !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp)))
  IEEE80211_ADDR_COPY(vap->iv_myaddr,
      IF_LLADDR(ifp));
+ if_addr_runlock(ifp);
  }
  break;
  case SIOCADDMULTI:


More information about the freebsd-net mailing list