2021-03-12 16:38:49

by Jarod Wilson

[permalink] [raw]
Subject: [PATCH net] wireless/nl80211: fix wdev_id may be used uninitialized

Build currently fails with -Werror=maybe-uninitialized set:

net/wireless/nl80211.c: In function '__cfg80211_wdev_from_attrs':
net/wireless/nl80211.c:124:44: error: 'wdev_id' may be used
uninitialized in this function [-Werror=maybe-uninitialized]

Easy fix is to just initialize wdev_id to 0, since it's value doesn't
otherwise matter unless have_wdev_id is true.

Fixes: a05829a7222e ("cfg80211: avoid holding the RTNL when calling the driver")
CC: Johannes Berg <[email protected]>
CC: "David S. Miller" <[email protected]>
CC: Jakub Kicinski <[email protected]>
CC: [email protected]
CC: [email protected]
Signed-off-by: Jarod Wilson <[email protected]>
---
net/wireless/nl80211.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 521d36bb0803..a157783760c7 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -70,7 +70,7 @@ __cfg80211_wdev_from_attrs(struct cfg80211_registered_device *rdev,
struct wireless_dev *result = NULL;
bool have_ifidx = attrs[NL80211_ATTR_IFINDEX];
bool have_wdev_id = attrs[NL80211_ATTR_WDEV];
- u64 wdev_id;
+ u64 wdev_id = 0;
int wiphy_idx = -1;
int ifidx = -1;

--
2.29.2


2021-03-12 21:05:02

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH net] wireless/nl80211: fix wdev_id may be used uninitialized

Jarod Wilson <[email protected]> writes:

> Build currently fails with -Werror=maybe-uninitialized set:
>
> net/wireless/nl80211.c: In function '__cfg80211_wdev_from_attrs':
> net/wireless/nl80211.c:124:44: error: 'wdev_id' may be used
> uninitialized in this function [-Werror=maybe-uninitialized]

Really, build fails? Is -Werror enabled by default now? I hope not.

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

2021-03-15 20:35:25

by Jarod Wilson

[permalink] [raw]
Subject: Re: [PATCH net] wireless/nl80211: fix wdev_id may be used uninitialized

On Fri, Mar 12, 2021 at 4:04 PM Kalle Valo <[email protected]> wrote:
>
> Jarod Wilson <[email protected]> writes:
>
> > Build currently fails with -Werror=maybe-uninitialized set:
> >
> > net/wireless/nl80211.c: In function '__cfg80211_wdev_from_attrs':
> > net/wireless/nl80211.c:124:44: error: 'wdev_id' may be used
> > uninitialized in this function [-Werror=maybe-uninitialized]
>
> Really, build fails? Is -Werror enabled by default now? I hope not.

Don't think so. But we (Red Hat) build all our kernels with a fair
amount of extra error-checking enabled.

--
Jarod Wilson
[email protected]