Patch "mac80211: fix invalid read in minstrel_sort_best_tp_rates()" has been added to the 4.1-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
mac80211: fix invalid read in minstrel_sort_best_tp_rates()
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mac80211-fix-invalid-read-in-minstrel_sort_best_tp_rates.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f5eeb5fa191fd7b634cbc4883ac58f3b2184dbc5Mon Sep 17 00:00:00 2001
From: Adrien Schildknecht <[email protected]>
Date: Tue, 28 Jul 2015 10:30:16 +0200
Subject: mac80211: fix invalid read in minstrel_sort_best_tp_rates()
From: Adrien Schildknecht <[email protected]>
commit f5eeb5fa191fd7b634cbc4883ac58f3b2184dbc5 upstream.
At the last iteration of the loop, j may equal zero and thus tp_list[j - 1] causes an invalid read.
Change the logic of the loop so that j - 1 is always >= 0.
--- net/mac80211/rc80211_minstrel.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
net/mac80211/rc80211_minstrel.c +6 -5
@@ -92,14 +92,15 @@ int minstrel_get_tp_avg(struct minstrel_static inline void minstrel_sort_best_tp_rates (struct minstrel_sta_info *mi,int i,u8 *tp_list) { -int j =MAX_THR_RATES ; -struct minstrel_rate_stats *tmp_mrs = &mi->r[j -1 ].stats; +int j; +struct minstrel_rate_stats *tmp_mrs;struct minstrel_rate_stats *cur_mrs = &mi->r[i].stats; -while (j >0 && (minstrel_get_tp_avg (&mi->r[i], cur_mrs->prob_ewma) > -minstrel_get_tp_avg (&mi->r[tp_list[j -1 ]], tmp_mrs->prob_ewma))) { - j--; +for (j =MAX_THR_RATES ; j >0 ; --j) { tmp_mrs = &mi->r[tp_list[j -1 ]].stats; +if (minstrel_get_tp_avg (&mi->r[i], cur_mrs->prob_ewma) <= +minstrel_get_tp_avg (&mi->r[tp_list[j -1 ]], tmp_mrs->prob_ewma)) +break ; }if (j <MAX_THR_RATES -1 )
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/mac80211-fix-invalid-read-in-minstrel_sort_best_tp_rates.patch