All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Aring <aahringo@redhat.com>
To: stefan@datenfreihafen.org
Cc: linux-wpan@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH wpan 03/17] net: ieee802154: nl-mac: fix check on panid
Date: Sun, 28 Feb 2021 10:18:03 -0500	[thread overview]
Message-ID: <20210228151817.95700-4-aahringo@redhat.com> (raw)
In-Reply-To: <20210228151817.95700-1-aahringo@redhat.com>

This patch fixes a null pointer derefence for panid handle by move the
check for the netlink variable directly before accessing them.

Reported-by: syzbot+d4c07de0144f6f63be3a@syzkaller.appspotmail.com
Signed-off-by: Alexander Aring <aahringo@redhat.com>
---
 net/ieee802154/nl-mac.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/net/ieee802154/nl-mac.c b/net/ieee802154/nl-mac.c
index 9c640d670ffe..0c1b0770c59e 100644
--- a/net/ieee802154/nl-mac.c
+++ b/net/ieee802154/nl-mac.c
@@ -551,9 +551,7 @@ ieee802154_llsec_parse_key_id(struct genl_info *info,
 	desc->mode = nla_get_u8(info->attrs[IEEE802154_ATTR_LLSEC_KEY_MODE]);
 
 	if (desc->mode == IEEE802154_SCF_KEY_IMPLICIT) {
-		if (!info->attrs[IEEE802154_ATTR_PAN_ID] &&
-		    !(info->attrs[IEEE802154_ATTR_SHORT_ADDR] ||
-		      info->attrs[IEEE802154_ATTR_HW_ADDR]))
+		if (!info->attrs[IEEE802154_ATTR_PAN_ID])
 			return -EINVAL;
 
 		desc->device_addr.pan_id = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_PAN_ID]);
@@ -562,6 +560,9 @@ ieee802154_llsec_parse_key_id(struct genl_info *info,
 			desc->device_addr.mode = IEEE802154_ADDR_SHORT;
 			desc->device_addr.short_addr = nla_get_shortaddr(info->attrs[IEEE802154_ATTR_SHORT_ADDR]);
 		} else {
+			if (!info->attrs[IEEE802154_ATTR_HW_ADDR])
+				return -EINVAL;
+
 			desc->device_addr.mode = IEEE802154_ADDR_LONG;
 			desc->device_addr.extended_addr = nla_get_hwaddr(info->attrs[IEEE802154_ATTR_HW_ADDR]);
 		}
-- 
2.26.2


  parent reply	other threads:[~2021-02-28 15:20 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-28 15:18 [PATCH wpan 00/17] ieee802154: syzbot fixes Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 01/17] net: ieee802154: make shift exponent unsigned Alexander Aring
2021-03-02 21:18   ` Stefan Schmidt
2021-03-06 23:35     ` Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 02/17] net: ieee802154: fix memory leak when deliver monitor skbs Alexander Aring
2021-03-01  3:16   ` Alexander Aring
2021-03-02 12:43     ` Stefan Schmidt
2021-02-28 15:18 ` Alexander Aring [this message]
2021-03-02 21:33   ` [PATCH wpan 03/17] net: ieee802154: nl-mac: fix check on panid Stefan Schmidt
2021-02-28 15:18 ` [PATCH wpan 04/17] net: ieee802154: forbid monitor for set llsec params Alexander Aring
2021-03-02 21:45   ` Stefan Schmidt
2021-03-06 13:12     ` Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 05/17] net: ieee802154: stop dump llsec keys for monitors Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 06/17] net: ieee802154: forbid monitor for add llsec key Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 07/17] net: ieee802154: forbid monitor for del " Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 08/17] net: ieee802154: stop dump llsec devs for monitors Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 09/17] net: ieee802154: forbid monitor for add llsec dev Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 10/17] net: ieee802154: forbid monitor for del " Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 11/17] net: ieee802154: stop dump llsec devkeys for monitors Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 12/17] net: ieee802154: forbid monitor for add llsec devkey Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 13/17] net: ieee802154: forbid monitor for del " Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 14/17] net: ieee802154: stop dump llsec seclevels for monitors Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 15/17] net: ieee802154: forbid monitor for add llsec seclevel Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 16/17] net: ieee802154: forbid monitor for del " Alexander Aring
2021-02-28 15:18 ` [PATCH wpan 17/17] net: ieee802154: stop dump llsec params for monitors Alexander Aring

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210228151817.95700-4-aahringo@redhat.com \
    --to=aahringo@redhat.com \
    --cc=linux-wpan@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stefan@datenfreihafen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.