summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2021-02-04 14:44:39 +0100
committerJohannes Berg <johannes.berg@intel.com>2021-02-12 08:56:19 +0100
commit9e6d51265b0aba145ab03b30dcdf3b88902e71f0 (patch)
tree979280fe33d99bc39f9dfced4aafd728df910f3d /net/wireless/reg.c
parentmac80211: fix potential overflow when multiplying to u32 integers (diff)
downloadlinux-9e6d51265b0aba145ab03b30dcdf3b88902e71f0.tar.xz
linux-9e6d51265b0aba145ab03b30dcdf3b88902e71f0.zip
cfg80211: initialize reg_rule in __freq_reg_info()
Sparse started warning on this function because we can potentially return an uninitialized value. The reason is that if the caller passes a min_bw value that is higher then the last value in bws[], we will not go into the loop and reg_rule will remain initialized. This cannot happen because the only caller of this function uses either 1 or 20 in min_bw, but the function will be more robust if we pre-initialize the value. Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Link: https://lore.kernel.org/r/iwlwifi.20210204154439.6c884ea7281c.I257278d03b0c1ae0aa6631672cfa48f1a95d5996@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/reg.c')
-rw-r--r--net/wireless/reg.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 452b698f42be..21536c48deec 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1629,7 +1629,7 @@ __freq_reg_info(struct wiphy *wiphy, u32 center_freq, u32 min_bw)
{
const struct ieee80211_regdomain *regd = reg_get_regdomain(wiphy);
static const u32 bws[] = {0, 1, 2, 4, 5, 8, 10, 16, 20};
- const struct ieee80211_reg_rule *reg_rule;
+ const struct ieee80211_reg_rule *reg_rule = ERR_PTR(-ERANGE);
int i = ARRAY_SIZE(bws) - 1;
u32 bw;