Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4752039pxj; Wed, 12 May 2021 12:24:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/C2eWtFQfFbUcKVll+TU4apYr+J57msf6UrbUD2VWkcibzOyl9idJ8DUOdm6ZB4OCt3VO X-Received: by 2002:aa7:d058:: with SMTP id n24mr8105881edo.275.1620847487182; Wed, 12 May 2021 12:24:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620847487; cv=none; d=google.com; s=arc-20160816; b=MnLXIpAFnrl3vt1Cdw9trdxiAH7TV36yiFkn6i3cNZF3sl5DRC4g+4xyq2gPpmsCaD 1tRMV2l0lxzy9b/QEzH/CS8hfDZ6+2Be6XUEr/CbHYPAnz6YpGxto/aMyywuG1GZpxyy 23WGHYUL/xD0+NZ97aKWVNBK4rJKFB/cnxuLV/IXpNb0ax3mJnFK3eVOHiFbFfXKouMS 296HSuQR7rOmz0xv75RLsy07Mi32I7gejWhGlB4aOnCPcVZ0NCetUHGvoGAhiaHSfJck gn8l9c1FmHYrI3HrGfHXutLKckc0taBwbgb4HIx1+IpXahbIAmyhJ+na6FBPGHfGQPau x9cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=g04alWBkA/AL5QVp6Y24RukRmDYaeQ9llYHu2VflMds=; b=VwUS2If91bDc6Syx3ARkI4DTJaks+CQamRnRXx1TrScUOSROdigTnkpOhdgQI3F/is JMay7eMFavKYTa3KRJFs2yN27bBcxxyxXdttiHTbiJO4Zvj78LAenuK55p6N/jfSNBGv 5Y7xKh1hHd54LbL+sMR7/Oh3GoXjXd+fPWw3dt8wY3Ge0EI9//aOzjl9CPdvVikfuAyd rr63iaqv+rRTL5VFFkKvDVChrGR9Pm7aM1kyuTchAFblu8Xu4fWoH6KxTSAxaiX9AfhT 19snMqtfhNHl8EDE4fHJYCS37JTctJ2WJfHBEg9payxw1StAmYSrccbfYBhYEr79TT1G XxJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=E60Gl3oC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l15si476125edv.180.2021.05.12.12.24.23; Wed, 12 May 2021 12:24:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=E60Gl3oC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378562AbhELTRM (ORCPT + 99 others); Wed, 12 May 2021 15:17:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:46100 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235941AbhELQr4 (ORCPT ); Wed, 12 May 2021 12:47:56 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C2C1061E7E; Wed, 12 May 2021 16:15:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620836128; bh=F47fYqBcJBfoO4/Vv01Jv7/ubvfB3rFIHoSPfyHa4co=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E60Gl3oCatmetBE5cxRhsZe6yeNvsLuidfXAfWOs35wzj7NKHp5oCv7+aGOxjj5Tr ugfs0e09iDaJyUMVG5WeN48+4JC84EgIjkcV8wxg2ORiAh8b4HLSkPBsLsFyJb7KC1 nvYDyKytNLoNFy8ffILTm+AIllXrjcsw5Fll8ORY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Colin Ian King , Felix Fietkau , Sasha Levin Subject: [PATCH 5.12 621/677] mt76: mt7615: Fix a dereference of pointer sta before it is null checked Date: Wed, 12 May 2021 16:51:07 +0200 Message-Id: <20210512144857.998022072@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144837.204217980@linuxfoundation.org> References: <20210512144837.204217980@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King [ Upstream commit 4a52d6abb193aea0f2923a2c917502bd2d718630 ] Currently the assignment of idx dereferences pointer sta before sta is null checked, leading to a potential null pointer dereference. Fix this by assigning idx when it is required after the null check on pointer sta. Addresses-Coverity: ("Dereference before null check") Fixes: a4a5a430b076 ("mt76: mt7615: fix TSF configuration") Signed-off-by: Colin Ian King Signed-off-by: Felix Fietkau Signed-off-by: Sasha Levin --- drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c b/drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c index 4a370b9f7a17..f8d3673c2cae 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/usb_sdio.c @@ -67,7 +67,7 @@ static int mt7663_usb_sdio_set_rates(struct mt7615_dev *dev, struct mt7615_rate_desc *rate = &wrd->rate; struct mt7615_sta *sta = wrd->sta; u32 w5, w27, addr, val; - u16 idx = sta->vif->mt76.omac_idx; + u16 idx; lockdep_assert_held(&dev->mt76.mutex); @@ -119,6 +119,7 @@ static int mt7663_usb_sdio_set_rates(struct mt7615_dev *dev, sta->rate_probe = sta->rateset[rate->rateset].probe_rate.idx != -1; + idx = sta->vif->mt76.omac_idx; idx = idx > HW_BSSID_MAX ? HW_BSSID_0 : idx; addr = idx > 1 ? MT_LPON_TCR2(idx): MT_LPON_TCR0(idx); -- 2.30.2