Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4744068pxj; Wed, 12 May 2021 12:12:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGs2OFleXbSbKvltp0LbIpq6n8QkIKfls2A5UEQh/GvGTUjm9c1+l//mHEA2DJha45ozCf X-Received: by 2002:a05:6402:204c:: with SMTP id bc12mr44811528edb.35.1620846765082; Wed, 12 May 2021 12:12:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620846765; cv=none; d=google.com; s=arc-20160816; b=iIPb7J/V7PlRxSkbVskkb270QRcaNroiETiZ1oL3pnOAaeFmCo3GQTkLKLs6798Pmx c7wm/P7rSr/UMjRdlmYfAmWXKD0lVg7UR+XVWLZ1vyRl8MxYMDgFphBTCN7EYlxkUCgE VE2x0i5bHKrs/h5a6SSeEXI0tQXZQvn8I5kCTvjctLg96cFjn5AMdkkCNHlsQOD1mtEg rJZiF2+SfcPsukqzrqji47ltSbuKVmgfO1W6RtMGjG/tFhRZhjcnjkM/+y8A17RsACJR R7ELWbTmpZ5DzI7tD4X91IIy9bT8FqhzR8QHx4y942Acan7kUsDBDM2Hr3xtLMx0RBCC Ddyw== 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=hfahdytygsfePiiywbM2GikYs97uyw8+/wk96VTxs5A=; b=OuIK/phnoZXtKXAW/sMkpwNNpAhjLEApeIKelrqsppc2y4UlfkBXV95gvVk/Nxajy3 egUyGvMwxFjvEPjLxO9bJYT3kJEqvr+erpMVpnBJVZt3avhRtNp+CB5wrMvCYWJPfWNI srzYK2ObQxggpB2nF7yoRf7Utxn7fM3qBllQj0Kj9m+iDKCiKlywiGIqRPnTTEmNlkd0 UMkAuKH4/vqwEn5bqOmLOLQZ1Hm14EHbRQehF3HNCmoYHU20DXdS2ZpO1epzgr3oZQb3 4p3eoTko21b4qwiJ4frzvg+tMRi3/v8qEZT9IokFfuVkIr7v2po3hOtHwHAo2VTZBfQY Uuqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wfTQr0Dh; 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 b11si696055ejd.10.2021.05.12.12.12.21; Wed, 12 May 2021 12:12:45 -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=wfTQr0Dh; 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 S242673AbhELTFU (ORCPT + 99 others); Wed, 12 May 2021 15:05:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:35800 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244149AbhELQmi (ORCPT ); Wed, 12 May 2021 12:42:38 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 851C961D24; Wed, 12 May 2021 16:11:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620835869; bh=1Z206rr+ID4sR0PVskAJ2Dfihs0zrPdTKGcuV4niXbI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wfTQr0Dh3CsO4LrOisY0Bt0iKJ4nrBYadPgBC4pG6jtBDrHsvwgbCHhrNhUw4HHRd AtDr41pmiD0sLJDlBC2rUO5Y81I8oNqmMmkVEF+lFD8unteWPe+D09lHZFReQ4ByBZ MwpFWdPMtUN8V3RSwuRkWohyzqFXqfTQtmoV/p+w= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Colin Ian King , Jakub Kicinski , Kalle Valo , Sasha Levin Subject: [PATCH 5.12 516/677] mt7601u: fix always true expression Date: Wed, 12 May 2021 16:49:22 +0200 Message-Id: <20210512144854.530086442@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 87fce88658ba047ae62e83497d3f3c5dc22fa6f9 ] Currently the expression ~nic_conf1 is always true because nic_conf1 is a u16 and according to 6.5.3.3 of the C standard the ~ operator promotes the u16 to an integer before flipping all the bits. Thus the top 16 bits of the integer result are all set so the expression is always true. If the intention was to flip all the bits of nic_conf1 then casting the integer result back to a u16 is a suitabel fix. Interestingly static analyzers seem to thing a bitwise ! should be used instead of ~ for this scenario, so I think the original intent of the expression may need some extra consideration. Addresses-Coverity: ("Logical vs. bitwise operator") Fixes: c869f77d6abb ("add mt7601u driver") Signed-off-by: Colin Ian King Acked-by: Jakub Kicinski Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/20210225183241.1002129-1-colin.king@canonical.com Signed-off-by: Sasha Levin --- drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/mediatek/mt7601u/eeprom.c b/drivers/net/wireless/mediatek/mt7601u/eeprom.c index c868582c5d22..aa3b64902cf9 100644 --- a/drivers/net/wireless/mediatek/mt7601u/eeprom.c +++ b/drivers/net/wireless/mediatek/mt7601u/eeprom.c @@ -99,7 +99,7 @@ mt7601u_has_tssi(struct mt7601u_dev *dev, u8 *eeprom) { u16 nic_conf1 = get_unaligned_le16(eeprom + MT_EE_NIC_CONF_1); - return ~nic_conf1 && (nic_conf1 & MT_EE_NIC_CONF_1_TX_ALC_EN); + return (u16)~nic_conf1 && (nic_conf1 & MT_EE_NIC_CONF_1_TX_ALC_EN); } static void -- 2.30.2