2016-05-13 10:42:04

by Martin Willi

[permalink] [raw]
Subject: [PATCH] mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL

A wmediumd that does not send this attribute causes a NULL pointer
dereference, as the attribute is accessed even if it does not exist.

The attribute was required but never checked ever since userspace frame
forwarding has been introduced. The issue gets more problematic once we
allow wmediumd registration from user namespaces.

Fixes: 7882513bacb1 ("mac80211_hwsimdriver support userspace frame tx/rx")
Signed-off-by: Martin Willi <[email protected]>
---
drivers/net/wireless/mac80211_hwsim.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index 303d94d..a16cd0c 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -2817,6 +2817,7 @@ static int hwsim_tx_info_frame_received_nl(struct sk_buff *skb_2,
if (!info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER] ||
!info->attrs[HWSIM_ATTR_FLAGS] ||
!info->attrs[HWSIM_ATTR_COOKIE] ||
+ !info->attrs[HWSIM_ATTR_SIGNAL] ||
!info->attrs[HWSIM_ATTR_TX_INFO])
goto out;

--
2.7.4



2016-05-31 10:12:11

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211_hwsim: Add missing check for HWSIM_ATTR_SIGNAL

On Fri, 2016-05-13 at 12:41 +0200, Martin Willi wrote:
> A wmediumd that does not send this attribute causes a NULL pointer
> dereference, as the attribute is accessed even if it does not exist.
>
> The attribute was required but never checked ever since userspace
> frame
> forwarding has been introduced. The issue gets more problematic once
> we
> allow wmediumd registration from user namespaces.
>
Applied, thanks.

johannes