Received: by 2002:a05:6358:111d:b0:dc:6189:e246 with SMTP id f29csp1097650rwi; Thu, 3 Nov 2022 00:34:54 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4hN2o3+/2Dw8++K3n0VAUI+XlMUhgcIHmJijjL7GAy0vebAGVijVRWUVTYRi5UFUOx3tZp X-Received: by 2002:a05:6a00:1595:b0:56d:e04d:e0ab with SMTP id u21-20020a056a00159500b0056de04de0abmr10660150pfk.51.1667460894622; Thu, 03 Nov 2022 00:34:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667460894; cv=none; d=google.com; s=arc-20160816; b=j0aHD09EaPzn8IJ2mz+KCMjQuqco7rzbsu2CvgZW0f5zCW3GFy5Zuy6xBHIazrPhda YkpyjNJtwjsmLmh7XCKfmn6pKZDd/WF213pKXP0Dy2DAa/fnHIDHn/mld2ORBaWKX8xN O7HMdqPQAsB2C/1Uu9Vh5BABMWT7R1zn+NZ6O8yf9U4Fc8dq3bmFjqnBV2UoTpTfHPhL TIAPjGj0qBl4UApj3Mq1jOQ1ZeJLFvaBJXacPL9yLtO4/cifW3gv8UcQkUYdvA+zjM2t 9/njm3r858CaKxtvOhuvnEVHJ2Pem9QdYM2GIzluZ0moVYITwHmessyvK/QG5bidSN6j 2q9Q== 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 :message-id:date:subject:cc:to:from:authenticated-by; bh=/J7d10pHEBCsoFJBX5dXGGZW5mDDvwQxas+W7oAM2P4=; b=vGIOomJBXbE5D4fQwNKS8BqoTr6u7rTFxRot7HkkPc98SC7wrkZf2zEsQSci5Ve4mP qnrZzHEA1gJPoGabspaHlZwgHkfez/xGe8mLVtT+P0ZK94gLrkMV/lMq1cIDF2zxVHWF OqQ3/5QZB6PtaMSk/g+JjTgOjspHTN3A8xA/lQfLuHH64f6boE9ACfpiq5yb+4uopH3b 4D4xAW3i3I+UA1Fu9Ifly/qM1KDSijZk34kM3pi8hvGseTm8CEnOIOo2CQKRV562S3oE PikScVYRoG3a6Fqqya+0BV5cuPVv0imknIe/j//3R8jSMjDPhGne8thMBRHvRjS87nQo LoaA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j64-20020a638b43000000b0046fb2a57348si262262pge.84.2022.11.03.00.34.41; Thu, 03 Nov 2022 00:34:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231215AbiKCHZL (ORCPT + 66 others); Thu, 3 Nov 2022 03:25:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58016 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229551AbiKCHZJ (ORCPT ); Thu, 3 Nov 2022 03:25:09 -0400 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 57E775FC8 for ; Thu, 3 Nov 2022 00:25:07 -0700 (PDT) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.77 with qID 2A37OC6Y0008487, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36505.realtek.com.tw[172.21.6.25]) by rtits2.realtek.com.tw (8.15.2/2.81/5.90) with ESMTPS id 2A37OC6Y0008487 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=FAIL); Thu, 3 Nov 2022 15:24:12 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36505.realtek.com.tw (172.21.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.32; Thu, 3 Nov 2022 15:24:48 +0800 Received: from localhost (172.21.69.188) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Thu, 3 Nov 2022 15:24:48 +0800 From: Ping-Ke Shih To: CC: Subject: [PATCH] wifi: rtw89: use FIELD_PREP to fill MAC quota value Date: Thu, 3 Nov 2022 15:24:20 +0800 Message-ID: <20221103072420.15161-1-pkshih@realtek.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [172.21.69.188] X-ClientProxiedBy: RTEXMBS02.realtek.com.tw (172.21.6.95) To RTEXMBS04.realtek.com.tw (172.21.6.97) X-KSE-ServerInfo: RTEXMBS04.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: trusted connection X-KSE-Antiphishing-Info: Clean X-KSE-Antiphishing-ScanningType: Deterministic X-KSE-Antiphishing-Method: None X-KSE-Antiphishing-Bases: 11/03/2022 06:59:00 X-KSE-AttachmentFiltering-Interceptor-Info: no applicable attachment filtering rules found X-KSE-Antivirus-Interceptor-Info: scan successful X-KSE-Antivirus-Info: =?big5?B?Q2xlYW4sIGJhc2VzOiAyMDIyLzExLzMgpFekyCAwNjowMDowMA==?= X-KSE-BulkMessagesFiltering-Scan-Result: protection disabled X-KSE-ServerInfo: RTEXH36505.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-Antivirus-Interceptor-Info: fallback X-KSE-AntiSpam-Interceptor-Info: fallback X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Coverity reported shift 16 bits could cause sign extension and might get an unexpected value. Since the input values are predefined and no this kind of case, original code is safe so far. But, still changing them to use FIELD_PREP() will be more clear and prevent mistakes in the future. The original message of Coverity is: Suspicious implicit sign extension: "max_cfg->cma0_dma" with type "u16" (16 bits, unsigned) is promoted in "max_cfg->cma0_dma << 16" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "max_cfg->cma0_dma << 16" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1." Reported-by: coverity-bot Addresses-Coverity-ID: 1527095 ("Integer handling issues") Fixes: e3ec7017f6a2 ("rtw89: add Realtek 802.11ax driver") Signed-off-by: Ping-Ke Shih --- drivers/net/wireless/realtek/rtw89/mac.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c index bb49033b587d2..11081dfdfb172 100644 --- a/drivers/net/wireless/realtek/rtw89/mac.c +++ b/drivers/net/wireless/realtek/rtw89/mac.c @@ -1487,10 +1487,8 @@ static int dle_mix_cfg(struct rtw89_dev *rtwdev, const struct rtw89_dle_mem *cfg #define INVALID_QT_WCPU U16_MAX #define SET_QUOTA_VAL(_min_x, _max_x, _module, _idx) \ do { \ - val = ((_min_x) & \ - B_AX_ ## _module ## _MIN_SIZE_MASK) | \ - (((_max_x) << 16) & \ - B_AX_ ## _module ## _MAX_SIZE_MASK); \ + val = FIELD_PREP(B_AX_ ## _module ## _MIN_SIZE_MASK, _min_x) | \ + FIELD_PREP(B_AX_ ## _module ## _MAX_SIZE_MASK, _max_x); \ rtw89_write32(rtwdev, \ R_AX_ ## _module ## _QTA ## _idx ## _CFG, \ val); \ -- 2.25.1