wifi: mac80211: update scratch_pos after defrag
authorJohannes Berg <johannes.berg@intel.com>
Wed, 28 Feb 2024 08:48:09 +0000 (09:48 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 4 Mar 2024 13:32:45 +0000 (14:32 +0100)
The scratch_pos update here was lost after defrag, so any
other uses of the scratch buffer might overwrite it.

Fixes: a286de1aa38f ("wifi: mac80211: Rename multi_link")
Reviewed-by: Benjamin Berg <benjamin.berg@intel.com>
Reviewed-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240228094901.9da35f39eeb7.I7127f2918ec4cba416fcbc35eacaea10262c1268@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/parse.c

index 196a882e4c1903acc168100ca06c575f3229ab43..233c761823d3b8d3e62af2f8a6e133a1c8c32f96 100644 (file)
@@ -800,6 +800,7 @@ static void ieee80211_mle_parse_link(struct ieee802_11_elems *elems,
 
        elems->ml_basic = (const void *)elems->scratch_pos;
        elems->ml_basic_len = ml_len;
+       elems->scratch_pos += ml_len;
 
        ieee80211_mle_get_sta_prof(elems, params->link_id);
        prof = elems->prof;