diff options
author | Luca Coelho <luciano.coelho@intel.com> | 2021-02-04 14:44:39 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2021-02-12 08:56:19 +0100 |
commit | 9e6d51265b0aba145ab03b30dcdf3b88902e71f0 (patch) | |
tree | 979280fe33d99bc39f9dfced4aafd728df910f3d | |
parent | mac80211: fix potential overflow when multiplying to u32 integers (diff) | |
download | linux-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>
-rw-r--r-- | net/wireless/reg.c | 2 |
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; |