]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
net: ieee802154: forbid monitor for del llsec seclevel
authorAlexander Aring <aahringo@redhat.com>
Mon, 5 Apr 2021 00:30:53 +0000 (20:30 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Tue, 4 May 2021 14:08:55 +0000 (16:08 +0200)
BugLink: https://bugs.launchpad.net/bugs/1926489
commit 9dde130937e95b72adfae64ab21d6e7e707e2dac upstream.

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+fbf4fc11a819824e027b@syzkaller.appspotmail.com
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20210405003054.256017-15-aahringo@redhat.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
net/ieee802154/nl802154.c

index 748e0aac0b78970c6dbd86247208d281427ed86c..69d2ff81bf40db95da38a3f2534f4aaa7f1212fd 100644 (file)
@@ -2108,6 +2108,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)