Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp3416121rdb; Sun, 10 Dec 2023 05:06:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IHeVRgOhp1Ufz11e+lnoqk8IcBLXbkvAaAKP+lCMCJEtJWMA88ka1n2Saan4fMZi1wGQX1T X-Received: by 2002:a05:6a00:1487:b0:6ce:46ba:9c2 with SMTP id v7-20020a056a00148700b006ce46ba09c2mr4219189pfu.28.1702213616049; Sun, 10 Dec 2023 05:06:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702213616; cv=none; d=google.com; s=arc-20160816; b=OxB2VCwnfsGUV3lLS1Q0xlYbZN/J/FT0F7q1jRopZRWc95TSRtJVJnzra9gU8f0n61 B5AR0wNzA6hfoRaga/1TeJTJ0NyuonmBkr/eagqPcDB0HrqptLoQhIkv6rlzx8LN6mJ3 /S7VQc/NeW9pUGY7ibKCFyWV0U05yOo3Xe6QiTl1X15liF0WU0gJV4P6/d6yngEG98Q0 AwfntH0YQ1lifGmrpwwHTyNgzUYY7DG5DCNu8wuWbw5LJSdNO8X/uoYVp5S27UO2Lu8J zRJGYWV7onlq2fvhPiQW35iXCtI+xWVODjDijecxxT5f26f9WmJ9xUU9/A1mNt8yt2hE TDnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:organization:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=5SqG2chxy97vK2GlNMLYvNr1IFgvBhQrhXJozINGFBY=; fh=TquNsOiV+zNY1csTpltVB6A9QFW5SbuNs6JlqcKCQkw=; b=cqz1IQ1nx/cZe0PZ68qvCI19kYqtZY+LaUzcgNBG8p2Hw7Ww7Q67wgQoSm8IuSJtDR rzyJKySBE4XXqaIheGRhX8B7WMq6Vfw9bjB21nh5F4Bhic+sjWNf3AT0CHdv97JKaacN VnFakQ8eE5vc5rLK8/u16haz7HdU+Y+pA1AYKGGzvvpg5cvXAJ4PvssXwp2b20k38ncz UWnS+Phx9yQCp9qbiZM8PsvVxyUHq8VLY3Xl6aJCWISOxNWhDshwF2N6NWBNAscH0TXq kV9Cf0nrD6EMkQKhiKqmPEHug5BO0yjLTfA+fxckhxd29OKYyzwJaeh/LakDSc0dGiKe O7Ng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Q0tXvTtc; spf=pass (google.com: domain of linux-wireless+bounces-609-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-wireless+bounces-609-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id c15-20020a634e0f000000b005c65d99188esi4395880pgb.34.2023.12.10.05.06.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Dec 2023 05:06:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-609-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Q0tXvTtc; spf=pass (google.com: domain of linux-wireless+bounces-609-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-wireless+bounces-609-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 69FDAB20A2E for ; Sun, 10 Dec 2023 13:06:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 759E48C0A; Sun, 10 Dec 2023 13:06:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Q0tXvTtc" X-Original-To: linux-wireless@vger.kernel.org Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 236AC106 for ; Sun, 10 Dec 2023 05:06:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702213605; x=1733749605; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KreBiLuQGquSgy/UVsC9UojUd1ufeB/JDzNnIs0CQj0=; b=Q0tXvTtc49WuygpHhA+Ixjmefzd7lv03oz5mvl0agwZRoKQzFBAhb2nz +dprH+JoYWrsFBBe/H2WtUgkzLK8rryiytlFj0WuWPqEwe15WIli1+iIk 7c4UAIl59fuiycb/ugYnenH3XyqeMBVyPvovaHEBKUHoBKQ809aNXkruX AO4wPejL3841LQn37pVkOaZcp9kp3K6GlFmSgNH3NDl59yU5i6w5BFeSf SdPnkfbWk8wLfjx7FPR6HB7bWGMiau35pio8pEDcs4QlE1uYp0hxNTgKd sun74NB2HOKUKRg8GgUByyIsRoqIYvAPuNVPofKyWdWsY1V1iXJFYktp/ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10919"; a="480746186" X-IronPort-AV: E=Sophos;i="6.04,265,1695711600"; d="scan'208";a="480746186" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2023 05:06:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10919"; a="748926503" X-IronPort-AV: E=Sophos;i="6.04,265,1695711600"; d="scan'208";a="748926503" Received: from unknown (HELO WEIS0040.iil.intel.com) ([10.12.217.108]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2023 05:06:41 -0800 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg Subject: [PATCH 14/14] wifi: mac80211: mesh: check element parsing succeeded Date: Mon, 11 Dec 2023 09:05:32 +0200 Message-Id: <20231211085121.93dea364f3d3.Ie87781c6c48979fb25a744b90af4a33dc2d83a28@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231211070532.2458539-1-miriam.rachel.korenblit@intel.com> References: <20231211070532.2458539-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited Content-Transfer-Encoding: 8bit From: Johannes Berg ieee802_11_parse_elems() can return NULL, so we must check for the return value. Fixes: 5d24828d05f3 ("mac80211: always allocate struct ieee802_11_elems") Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit --- net/mac80211/mesh_plink.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c index efffde7e5695..28bf794f67f8 100644 --- a/net/mac80211/mesh_plink.c +++ b/net/mac80211/mesh_plink.c @@ -1247,6 +1247,8 @@ void mesh_rx_plink_frame(struct ieee80211_sub_if_data *sdata, return; } elems = ieee802_11_parse_elems(baseaddr, len - baselen, true, NULL); - mesh_process_plink_frame(sdata, mgmt, elems, rx_status); - kfree(elems); + if (elems) { + mesh_process_plink_frame(sdata, mgmt, elems, rx_status); + kfree(elems); + } } -- 2.34.1