diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2011-02-21 20:00:13 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2011-02-21 20:00:13 +0000 |
commit | d5c216467069a6184ddf3fa136d7167bec3e0a55 (patch) | |
tree | cdf66edb309400bbc854a532dd43a3907b1eedbd | |
parent | 087ba2806ea4eb99ed066970c9cff84e5be09f30 (diff) |
When bridging multicast frames in hostap mode, make a deep copy of the mbuf
instead of a shallow copy to avoid problems if the mbuf is modified later
(e.g. if the frame is encrypted).
From FreeBSD.
http://marc.info/?l=freebsd-current&m=114168135819304&w=2
http://svn.freebsd.org/viewvc/base?view=revision&revision=156367
ok damien; committing with miod's permission (src is soft-locked)
-rw-r--r-- | sys/net80211/ieee80211_input.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index cb9b6302db4..8721ba587cd 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211_input.c,v 1.116 2010/06/07 16:51:22 damien Exp $ */ +/* $OpenBSD: ieee80211_input.c,v 1.117 2011/02/21 20:00:12 stsp Exp $ */ /*- * Copyright (c) 2001 Atsushi Onoe @@ -789,7 +789,7 @@ ieee80211_deliver_data(struct ieee80211com *ic, struct mbuf *m, int error, len; if (ETHER_IS_MULTICAST(eh->ether_dhost)) { - m1 = m_copym(m, 0, M_COPYALL, M_DONTWAIT); + m1 = m_copym2(m, 0, M_COPYALL, M_DONTWAIT); if (m1 == NULL) ifp->if_oerrors++; else |