diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-02-26 22:13:40 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-03-01 15:42:01 +0100 |
commit | 9acc54beb474c81148e2946603d141cf8716b19f (patch) | |
tree | ddca7cb7698c0d06c8b9df5a589014e40359d3d6 /net/mac80211/ieee80211_i.h | |
parent | b86071528f3261ab592fad5b9b1a02aea3dcabf3 (diff) | |
download | blackbird-op-linux-9acc54beb474c81148e2946603d141cf8716b19f.tar.gz blackbird-op-linux-9acc54beb474c81148e2946603d141cf8716b19f.zip |
mac80211: check PN correctly for GCMP-encrypted fragmented MPDUs
Just like for CCMP we need to check that for GCMP the fragments
have PNs that increment by one; the spec was updated to fix this
security issue and now has the following text:
The receiver shall discard MSDUs and MMPDUs whose constituent
MPDU PN values are not incrementing in steps of 1.
Adapt the code for CCMP to work for GCMP as well, luckily the
relevant fields already alias each other so no code duplication
is needed (just check the aliasing with BUILD_BUG_ON.)
Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index b84f6aa32c08..f006f4a44c0e 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -92,7 +92,7 @@ struct ieee80211_fragment_entry { u16 extra_len; u16 last_frag; u8 rx_queue; - bool ccmp; /* Whether fragments were encrypted with CCMP */ + bool check_sequential_pn; /* needed for CCMP/GCMP */ u8 last_pn[6]; /* PN of the last fragment if CCMP was used */ }; |