]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: add check on hw->max_signal value on ieee80211_register_hw
authorandrea merello <andrea.merello@gmail.com>
Sun, 19 Jan 2014 21:21:49 +0000 (22:21 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 4 Feb 2014 20:48:13 +0000 (21:48 +0100)
commit8bc656bc03549d6e4b04dbe2b9f0636bb9b2f066
treef72b395870a7c268e960178ef58177fea0a26bdb
parentb4d4688a000e8460b05479c199fdd54ee8353d4e
mac80211: add check on hw->max_signal value on ieee80211_register_hw

When IEEE80211_HW_SIGNAL_UNSPEC is set, mac80211 will perform a
division by max_signal in ieee80211_bss_info_update. If max_signal
is not properly set by the driver (for example it is zero) this
leads to a divide error and crash.
Thanks to Larry Finger, who pointed me to this.
This patch adds in ieee80211_register_hw one more check to detect
this condition and eventually returns -EINVAL, as already done for
other checks already performed there.

Signed-off-by: andrea merello <andrea.merello@gmail.com>
[move to an already existing SIGNAL_UNSPEC check]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/main.c