From 012439b03ab93ac247e43dd5405aef5f30050cfd Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 1 Dec 2006 05:48:35 +0000 Subject: sizeof(struct llc) includes padding on arm; use LLC_SNAPFRAMELEN for now Submitted by: jhay MFC after: 2 weeks --- sys/net80211/ieee80211_input.c | 2 +- sys/net80211/ieee80211_output.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/net80211') diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 511e6e1..dc52797 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -746,7 +746,7 @@ ieee80211_decap(struct ieee80211com *ic, struct mbuf *m, int hdrlen) if (llc->llc_dsap == LLC_SNAP_LSAP && llc->llc_ssap == LLC_SNAP_LSAP && llc->llc_control == LLC_UI && llc->llc_snap.org_code[0] == 0 && llc->llc_snap.org_code[1] == 0 && llc->llc_snap.org_code[2] == 0) { - m_adj(m, hdrlen + sizeof(struct llc) - sizeof(*eh)); + m_adj(m, hdrlen + LLC_SNAPFRAMELEN - sizeof(*eh)); llc = NULL; } else { m_adj(m, hdrlen - sizeof(*eh)); diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index 76101be..6d07346 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -500,7 +500,7 @@ static struct mbuf * ieee80211_mbuf_adjust(struct ieee80211com *ic, int hdrsize, struct ieee80211_key *key, struct mbuf *m) { -#define TO_BE_RECLAIMED (sizeof(struct ether_header) - sizeof(struct llc)) +#define TO_BE_RECLAIMED (sizeof(struct ether_header) - LLC_SNAPFRAMELEN) int needed_space = hdrsize; if (key != NULL) { @@ -527,7 +527,7 @@ ieee80211_mbuf_adjust(struct ieee80211com *ic, int hdrsize, * We know we are called just before stripping an Ethernet * header and prepending an LLC header. This means we know * there will be - * sizeof(struct ether_header) - sizeof(struct llc) + * sizeof(struct ether_header) - LLC_SNAPFRAMELEN * bytes recovered to which we need additional space for the * 802.11 header and any crypto header. */ @@ -675,7 +675,7 @@ ieee80211_encap(struct ieee80211com *ic, struct mbuf *m, } /* NB: this could be optimized because of ieee80211_mbuf_adjust */ - m_adj(m, sizeof(struct ether_header) - sizeof(struct llc)); + m_adj(m, sizeof(struct ether_header) - LLC_SNAPFRAMELEN); llc = mtod(m, struct llc *); llc->llc_dsap = llc->llc_ssap = LLC_SNAP_LSAP; llc->llc_control = LLC_UI; -- cgit v1.1