All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Alexander Aring <aahringo@redhat.com>,
	syzbot+d4c07de0144f6f63be3a@syzkaller.appspotmail.com,
	Stefan Schmidt <stefan@datenfreihafen.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-wpan@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 01/28] net: ieee802154: nl-mac: fix check on panid
Date: Mon, 12 Apr 2021 12:25:26 -0400	[thread overview]
Message-ID: <20210412162553.315227-1-sashal@kernel.org> (raw)

From: Alexander Aring <aahringo@redhat.com>

[ Upstream commit 6f7f657f24405f426212c09260bf7fe8a52cef33 ]

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>
Link: https://lore.kernel.org/r/20210228151817.95700-4-aahringo@redhat.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 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 d3cbb3258718..c0930b9fe848 100644
--- a/net/ieee802154/nl-mac.c
+++ b/net/ieee802154/nl-mac.c
@@ -559,9 +559,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]);
@@ -570,6 +568,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.30.2


             reply	other threads:[~2021-04-12 16:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-12 16:25 Sasha Levin [this message]
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 02/28] ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 03/28] ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 04/28] lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 05/28] arc: kernel: Return -EFAULT if copy_to_user() fails Sasha Levin
2021-04-12 16:25   ` Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 06/28] neighbour: Disregard DEAD dst in neigh_update Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 07/28] ARM: keystone: fix integer overflow warning Sasha Levin
2021-04-12 16:25   ` Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 08/28] drivers: net: fix memory leak in atusb_probe Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 09/28] drivers: net: fix memory leak in peak_usb_create_dev Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 10/28] drm/msm: Fix a5xx/a6xx timestamps Sasha Levin
2021-04-12 16:25   ` Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 11/28] ASoC: fsl_esai: Fix TDM slot setup for I2S mode Sasha Levin
2021-04-12 16:25   ` Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 12/28] scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 13/28] net: ieee802154: forbid monitor for set llsec params Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 14/28] net: ieee802154: stop dump llsec keys for monitors Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 15/28] net: ieee802154: stop dump llsec devs " Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 16/28] net: ieee802154: forbid monitor for add llsec dev Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 17/28] net: ieee802154: stop dump llsec devkeys for monitors Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 18/28] net: ieee802154: forbid monitor for add llsec devkey Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 19/28] net: ieee802154: stop dump llsec seclevels for monitors Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 20/28] net: ieee802154: forbid monitor for add llsec seclevel Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 21/28] net: ieee802154: forbid monitor for del " Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 22/28] net: ieee802154: stop dump llsec params for monitors Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 23/28] net: mac802154: Fix general protection fault Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 24/28] pcnet32: Use pci_resource_len to validate PCI resource Sasha Levin
2021-04-12 16:25   ` Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 25/28] net/rds: Avoid potential use after free in rds_send_remove_from_sock Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 26/28] net: tipc: Fix spelling errors in net/tipc module Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 27/28] mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN Sasha Levin
2021-04-12 16:25 ` [PATCH AUTOSEL 4.19 28/28] cfg80211: remove WARN_ON() in cfg80211_sme_connect Sasha Levin

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=20210412162553.315227-1-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=aahringo@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wpan@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=stefan@datenfreihafen.org \
    --cc=syzbot+d4c07de0144f6f63be3a@syzkaller.appspotmail.com \
    /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.