mac80211: correct fragmentation threshold check

Previous thread: cfg80211: fix truncated IEs by Linux Kernel Mailing List on Sunday, May 10, 2009 - 10:59 am. (1 message)

Next thread: iwlwifi: update key flags at time key is set by Linux Kernel Mailing List on Sunday, May 10, 2009 - 10:59 am. (1 message)
From: Linux Kernel Mailing List
Date: Sunday, May 10, 2009 - 10:59 am

Gitweb:     http://git.kernel.org/linus/8ccd8f21122dcc30a665516d43aa8b4aa8ae51f6
Commit:     8ccd8f21122dcc30a665516d43aa8b4aa8ae51f6
Parent:     3ee59f8d0dcab2e114546038b2b224776c82b7f7
Author:     Johannes Berg <johannes@sipsolutions.net>
AuthorDate: Wed Apr 29 23:35:56 2009 +0200
Committer:  John W. Linville <linville@tuxdriver.com>
CommitDate: Mon May 4 16:22:08 2009 -0400

    mac80211: correct fragmentation threshold check
    
    The fragmentation threshold is defined to be including the
    FCS, and the code that sets the TX_FRAGMENTED flag correctly
    accounts for those four bytes. The code that verifies this
    doesn't though, which could lead to spurious warnings and
    frames being dropped although everything is ok. Correct the
    code by accounting for the FCS.
    
    (JWL -- The problem is described here:
     http://article.gmane.org/gmane.linux.kernel.wireless.general/32205 )
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
 net/mac80211/tx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 3fb04a8..6365626 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -772,7 +772,7 @@ ieee80211_tx_h_fragment(struct ieee80211_tx_data *tx)
 	hdrlen = ieee80211_hdrlen(hdr->frame_control);
 
 	/* internal error, why is TX_FRAGMENTED set? */
-	if (WARN_ON(skb->len <= frag_threshold))
+	if (WARN_ON(skb->len + FCS_LEN <= frag_threshold))
 		return TX_DROP;
 
 	/*
--

Previous thread: cfg80211: fix truncated IEs by Linux Kernel Mailing List on Sunday, May 10, 2009 - 10:59 am. (1 message)

Next thread: iwlwifi: update key flags at time key is set by Linux Kernel Mailing List on Sunday, May 10, 2009 - 10:59 am. (1 message)