From: Alexander Aring <aahri...@redhat.com>

[ Upstream commit 9dde130937e95b72adfae64ab21d6e7e707e2dac ]

This patch forbids to del llsec seclevel for monitor interfaces which we
don't support yet. Otherwise we will access llsec mib which isn't
initialized for monitors.

Reported-by: syzbot+fbf4fc11a819824e0...@syzkaller.appspotmail.com
Signed-off-by: Alexander Aring <aahri...@redhat.com>
Link: https://lore.kernel.org/r/20210405003054.256017-15-aahri...@redhat.com
Signed-off-by: Stefan Schmidt <ste...@datenfreihafen.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 net/ieee802154/nl802154.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/net/ieee802154/nl802154.c b/net/ieee802154/nl802154.c
index c51467693c6d..2fad9f40acac 100644
--- a/net/ieee802154/nl802154.c
+++ b/net/ieee802154/nl802154.c
@@ -2162,6 +2162,9 @@ static int nl802154_del_llsec_seclevel(struct sk_buff 
*skb,
        struct wpan_dev *wpan_dev = dev->ieee802154_ptr;
        struct ieee802154_llsec_seclevel sl;
 
+       if (wpan_dev->iftype == NL802154_IFTYPE_MONITOR)
+               return -EOPNOTSUPP;
+
        if (!info->attrs[NL802154_ATTR_SEC_LEVEL] ||
            llsec_parse_seclevel(info->attrs[NL802154_ATTR_SEC_LEVEL],
                                 &sl) < 0)
-- 
2.30.2

Reply via email to