re: ath6kl: move ath6kl_wmi_startscan_cmd()

4 messages, 2 authors, 2013-03-10 · open the first message on its own page

re: ath6kl: move ath6kl_wmi_startscan_cmd()

From: Dan Carpenter <hidden>
Date: 2012-11-27 07:25:40

Hello Kalle Valo,

The patch c8c72b74e289: "ath6kl: move ath6kl_wmi_startscan_cmd()" 
from Jul 19, 2012, leads to the following warning:
drivers/net/wireless/ath/ath6kl/wmi.c:2016 ath6kl_wmi_beginscan_cmd()
	 error: buffer overflow 'sc->supp_rates' 2 <= 2

drivers/net/wireless/ath/ath6kl/wmi.c

  2009          for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
                                      ^^^^^^^^^^^^^^^^^^^
This is 3.

  2010                  sband = ar->wiphy->bands[band];
  2011  
  2012                  if (!sband)
  2013                          continue;
  2014  
  2015                  ratemask = rates[band];
  2016                  supp_rates = sc->supp_rates[band].rates;

->supp_rates has only ATH6KL_NUM_BANDS (2) elements so we are reading
one element beyond the end.

  2017                  num_rates = 0;

regards,
dan carpenter

Re: ath6kl: move ath6kl_wmi_startscan_cmd()

From: Dan Carpenter <hidden>
Date: 2013-02-06 12:09:07

Whatever happened with this?

regards,
dan carpenter

On Tue, Nov 27, 2012 at 10:25:32AM +0300, Dan Carpenter wrote:
Hello Kalle Valo,

The patch c8c72b74e289: "ath6kl: move ath6kl_wmi_startscan_cmd()" 
from Jul 19, 2012, leads to the following warning:
drivers/net/wireless/ath/ath6kl/wmi.c:2016 ath6kl_wmi_beginscan_cmd()
	 error: buffer overflow 'sc->supp_rates' 2 <= 2

drivers/net/wireless/ath/ath6kl/wmi.c

  2009          for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
                                      ^^^^^^^^^^^^^^^^^^^
This is 3.

  2010                  sband = ar->wiphy->bands[band];
  2011  
  2012                  if (!sband)
  2013                          continue;
  2014  
  2015                  ratemask = rates[band];
  2016                  supp_rates = sc->supp_rates[band].rates;

->supp_rates has only ATH6KL_NUM_BANDS (2) elements so we are reading
one element beyond the end.

  2017                  num_rates = 0;

regards,
dan carpenter

Re: ath6kl: move ath6kl_wmi_startscan_cmd()

From: Kalle Valo <hidden>
Date: 2013-02-15 10:11:36

Dan Carpenter [off-list ref] writes:
Whatever happened with this?
It got buried inside my todo folder, sorry about that. I will look at it
soon.

-- 
Kalle Valo

Re: ath6kl: move ath6kl_wmi_startscan_cmd()

From: Kalle Valo <hidden>
Date: 2013-03-10 05:56:40

Dan Carpenter [off-list ref] writes:
The patch c8c72b74e289: "ath6kl: move ath6kl_wmi_startscan_cmd()" 
from Jul 19, 2012, leads to the following warning:
drivers/net/wireless/ath/ath6kl/wmi.c:2016 ath6kl_wmi_beginscan_cmd()
	 error: buffer overflow 'sc->supp_rates' 2 <= 2

drivers/net/wireless/ath/ath6kl/wmi.c

  2009          for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
                                      ^^^^^^^^^^^^^^^^^^^
This is 3.

  2010                  sband = ar->wiphy->bands[band];
  2011  
  2012                  if (!sband)
  2013                          continue;
  2014  
  2015                  ratemask = rates[band];
  2016                  supp_rates = sc->supp_rates[band].rates;

->supp_rates has only ATH6KL_NUM_BANDS (2) elements so we are reading
one element beyond the end.
This shouldn't happen as only the first two bands are set in
ar->wiphy->bands so the 'if (!sband)' will cover rest of the bands. But
I want to be careful and I sent a patch which adds an extra check there.

-- 
Kalle Valo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help