On Mon, Nov 17, 2014 at 11:36:37AM +0300, Dan Carpenter wrote:
> Fengguang, this seems to be a very old version of linux-next?

It's 3 days ago, the HEAD commit is

commit d7e5a72b951a4ef6d97b2aa43cad37f237ba8030
Author:     Stephen Rothwell <[email protected]>
AuthorDate: Fri Nov 14 19:23:08 2014 +1100
Commit:     Stephen Rothwell <[email protected]>
CommitDate: Fri Nov 14 19:23:08 2014 +1100

    Add linux-next specific files for 20141114
    
    Signed-off-by: Stephen Rothwell <[email protected]>

Thanks,
Fengguang

> On Sat, Nov 15, 2014 at 07:32:54AM +0800, kbuild test robot wrote:
> > TO: Karl Beldan <[email protected]>
> > CC: Johannes Berg <[email protected]>
> > 
> > tree:   git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
> > master
> > head:   d7e5a72b951a4ef6d97b2aa43cad37f237ba8030
> > commit: d4d141cae804a430054f4138fa177229114f203a [1093/6788] mac80211: 
> > minstrel_ht: Increase the range of handled rate indexes
> > :::::: branch date: 15 hours ago
> > :::::: commit date: 4 weeks ago
> > 
> > net/mac80211/rc80211_minstrel_ht.c:255 minstrel_ht_sort_best_tp_rates() 
> > error: buffer overflow 'tp_list' 2 <= 3
> > net/mac80211/rc80211_minstrel_ht.c:256 minstrel_ht_sort_best_tp_rates() 
> > error: buffer overflow 'tp_list' 2 <= 3
> > net/mac80211/rc80211_minstrel_ht.c:270 minstrel_ht_sort_best_tp_rates() 
> > warn: buffer overflow 'tp_list' 2 <= 2
> > net/mac80211/rc80211_minstrel_ht.c:274 minstrel_ht_sort_best_tp_rates() 
> > error: buffer overflow 'tp_list' 2 <= 3
> > net/mac80211/rc80211_minstrel_ht.c:340 minstrel_ht_assign_best_tp_rates() 
> > error: buffer overflow 'tmp_cck_tp_rate' 2 <= 3
> > 
> > git remote add next 
> > git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> > git remote update next
> > git checkout d4d141cae804a430054f4138fa177229114f203a
> > vim +/tp_list +255 net/mac80211/rc80211_minstrel_ht.c
> > 
> > 5935839a Thomas Huehn 2014-09-09  249  
> > 5935839a Thomas Huehn 2014-09-09  250       cur_group = index / 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  251       cur_idx = index  % 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  252       cur_thr = 
> > mi->groups[cur_group].rates[cur_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  253       cur_prob = 
> > mi->groups[cur_group].rates[cur_idx].probability;
> > 5935839a Thomas Huehn 2014-09-09  254  
> > 5935839a Thomas Huehn 2014-09-09 @255       tmp_group = tp_list[j - 1] / 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09 @256       tmp_idx = tp_list[j - 1] % 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  257       tmp_thr = 
> > mi->groups[tmp_group].rates[tmp_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  258       tmp_prob = 
> > mi->groups[tmp_group].rates[tmp_idx].probability;
> > 5935839a Thomas Huehn 2014-09-09  259  
> > 5935839a Thomas Huehn 2014-09-09  260       while (j > 0 && (cur_thr > 
> > tmp_thr ||
> > 5935839a Thomas Huehn 2014-09-09  261             (cur_thr == tmp_thr && 
> > cur_prob > tmp_prob))) {
> > 5935839a Thomas Huehn 2014-09-09  262               j--;
> > 5935839a Thomas Huehn 2014-09-09  263               tmp_group = tp_list[j - 
> > 1] / MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  264               tmp_idx = tp_list[j - 
> > 1] % MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  265               tmp_thr = 
> > mi->groups[tmp_group].rates[tmp_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  266               tmp_prob = 
> > mi->groups[tmp_group].rates[tmp_idx].probability;
> > 5935839a Thomas Huehn 2014-09-09  267       }
> > 5935839a Thomas Huehn 2014-09-09  268  
> > 5935839a Thomas Huehn 2014-09-09  269       if (j < MAX_THR_RATES - 1) {
> > 5935839a Thomas Huehn 2014-09-09 @270               memmove(&tp_list[j + 
> > 1], &tp_list[j], (sizeof(*tp_list) *
> > 5935839a Thomas Huehn 2014-09-09  271                      (MAX_THR_RATES - 
> > (j + 1))));
> > 5935839a Thomas Huehn 2014-09-09  272       }
> > 5935839a Thomas Huehn 2014-09-09  273       if (j < MAX_THR_RATES)
> > 5935839a Thomas Huehn 2014-09-09 @274               tp_list[j] = index;
> > 5935839a Thomas Huehn 2014-09-09  275  }
> > 5935839a Thomas Huehn 2014-09-09  276  
> > 5935839a Thomas Huehn 2014-09-09  277  /*
> > 5935839a Thomas Huehn 2014-09-09  278   * Find and set the topmost 
> > probability rate per sta and per group
> > 5935839a Thomas Huehn 2014-09-09  279   */
> > 5935839a Thomas Huehn 2014-09-09  280  static void
> > d4d141ca Karl Beldan  2014-10-20  281  
> > minstrel_ht_set_best_prob_rate(struct minstrel_ht_sta *mi, u16 index)
> > 5935839a Thomas Huehn 2014-09-09  282  {
> > 5935839a Thomas Huehn 2014-09-09  283       struct minstrel_mcs_group_data 
> > *mg;
> > 5935839a Thomas Huehn 2014-09-09  284       struct minstrel_rate_stats *mr;
> > 5935839a Thomas Huehn 2014-09-09  285       int tmp_group, tmp_idx, tmp_tp, 
> > tmp_prob, max_tp_group;
> > 5935839a Thomas Huehn 2014-09-09  286  
> > 5935839a Thomas Huehn 2014-09-09  287       mg = &mi->groups[index / 
> > MCS_GROUP_RATES];
> > 5935839a Thomas Huehn 2014-09-09  288       mr = &mg->rates[index % 
> > MCS_GROUP_RATES];
> > 5935839a Thomas Huehn 2014-09-09  289  
> > 5935839a Thomas Huehn 2014-09-09  290       tmp_group = mi->max_prob_rate / 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  291       tmp_idx = mi->max_prob_rate % 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  292       tmp_tp = 
> > mi->groups[tmp_group].rates[tmp_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  293       tmp_prob = 
> > mi->groups[tmp_group].rates[tmp_idx].probability;
> > 5935839a Thomas Huehn 2014-09-09  294  
> > 5935839a Thomas Huehn 2014-09-09  295       /* if max_tp_rate[0] is from 
> > MCS_GROUP max_prob_rate get selected from
> > 5935839a Thomas Huehn 2014-09-09  296        * MCS_GROUP as well as 
> > CCK_GROUP rates do not allow aggregation */
> > 5935839a Thomas Huehn 2014-09-09  297       max_tp_group = 
> > mi->max_tp_rate[0] / MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  298       if((index / MCS_GROUP_RATES == 
> > MINSTREL_CCK_GROUP) &&
> > 5935839a Thomas Huehn 2014-09-09  299           (max_tp_group != 
> > MINSTREL_CCK_GROUP))
> > 5935839a Thomas Huehn 2014-09-09  300               return;
> > 5935839a Thomas Huehn 2014-09-09  301  
> > 5935839a Thomas Huehn 2014-09-09  302       if (mr->probability > 
> > MINSTREL_FRAC(75, 100)) {
> > 5935839a Thomas Huehn 2014-09-09  303               if (mr->cur_tp > tmp_tp)
> > 5935839a Thomas Huehn 2014-09-09  304                       
> > mi->max_prob_rate = index;
> > 5935839a Thomas Huehn 2014-09-09  305               if (mr->cur_tp > 
> > mg->rates[mg->max_group_prob_rate].cur_tp)
> > 5935839a Thomas Huehn 2014-09-09  306                       
> > mg->max_group_prob_rate = index;
> > 5935839a Thomas Huehn 2014-09-09  307       } else {
> > 5935839a Thomas Huehn 2014-09-09  308               if (mr->probability > 
> > tmp_prob)
> > 5935839a Thomas Huehn 2014-09-09  309                       
> > mi->max_prob_rate = index;
> > 5935839a Thomas Huehn 2014-09-09  310               if (mr->probability > 
> > mg->rates[mg->max_group_prob_rate].probability)
> > 5935839a Thomas Huehn 2014-09-09  311                       
> > mg->max_group_prob_rate = index;
> > 5935839a Thomas Huehn 2014-09-09  312       }
> > 5935839a Thomas Huehn 2014-09-09  313  }
> > 5935839a Thomas Huehn 2014-09-09  314  
> > 5935839a Thomas Huehn 2014-09-09  315  
> > 5935839a Thomas Huehn 2014-09-09  316  /*
> > 5935839a Thomas Huehn 2014-09-09  317   * Assign new rate set per sta and 
> > use CCK rates only if the fastest
> > 5935839a Thomas Huehn 2014-09-09  318   * rate (max_tp_rate[0]) is from CCK 
> > group. This prohibits such sorted
> > 5935839a Thomas Huehn 2014-09-09  319   * rate sets where MCS and CCK rates 
> > are mixed, because CCK rates can
> > 5935839a Thomas Huehn 2014-09-09  320   * not use aggregation.
> > 5935839a Thomas Huehn 2014-09-09  321   */
> > 5935839a Thomas Huehn 2014-09-09  322  static void
> > 5935839a Thomas Huehn 2014-09-09  323  
> > minstrel_ht_assign_best_tp_rates(struct minstrel_ht_sta *mi,
> > d4d141ca Karl Beldan  2014-10-20  324                                u16 
> > tmp_mcs_tp_rate[MAX_THR_RATES],
> > d4d141ca Karl Beldan  2014-10-20  325                                u16 
> > tmp_cck_tp_rate[MAX_THR_RATES])
> > 5935839a Thomas Huehn 2014-09-09  326  {
> > 5935839a Thomas Huehn 2014-09-09  327       unsigned int tmp_group, 
> > tmp_idx, tmp_cck_tp, tmp_mcs_tp;
> > 5935839a Thomas Huehn 2014-09-09  328       int i;
> > 5935839a Thomas Huehn 2014-09-09  329  
> > 5935839a Thomas Huehn 2014-09-09  330       tmp_group = tmp_cck_tp_rate[0] 
> > / MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  331       tmp_idx = tmp_cck_tp_rate[0] % 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  332       tmp_cck_tp = 
> > mi->groups[tmp_group].rates[tmp_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  333  
> > 5935839a Thomas Huehn 2014-09-09  334       tmp_group = tmp_mcs_tp_rate[0] 
> > / MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  335       tmp_idx = tmp_mcs_tp_rate[0] % 
> > MCS_GROUP_RATES;
> > 5935839a Thomas Huehn 2014-09-09  336       tmp_mcs_tp = 
> > mi->groups[tmp_group].rates[tmp_idx].cur_tp;
> > 5935839a Thomas Huehn 2014-09-09  337  
> > 5935839a Thomas Huehn 2014-09-09  338       if (tmp_cck_tp > tmp_mcs_tp) {
> > 5935839a Thomas Huehn 2014-09-09  339               for(i = 0; i < 
> > MAX_THR_RATES; i++) {
> > 5935839a Thomas Huehn 2014-09-09 @340                       
> > minstrel_ht_sort_best_tp_rates(mi, tmp_cck_tp_rate[i],
> > 5935839a Thomas Huehn 2014-09-09  341                                       
> >                tmp_mcs_tp_rate);
> > 5935839a Thomas Huehn 2014-09-09  342               }
> > 5935839a Thomas Huehn 2014-09-09  343       }
> > 
> > :::::: The code at line 255 was first introduced by commit
> > :::::: 5935839ad73583781b8bbe8d91412f6826e218a4 mac80211: improve 
> > minstrel_ht rate sorting by throughput & probability
> > 
> > :::::: TO: Thomas Huehn <[email protected]>
> > :::::: CC: Johannes Berg <[email protected]>
> > 
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology 
> > Center
> > http://lists.01.org/mailman/listinfo/kbuild                 Intel 
> > Corporation
_______________________________________________
kbuild mailing list
[email protected]
https://lists.01.org/mailman/listinfo/kbuild

Reply via email to