Message ID | 20241016182635.1156168-2-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C965BD2A53C for <linux-mm@archiver.kernel.org>; Wed, 16 Oct 2024 18:26:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 16A386B008C; Wed, 16 Oct 2024 14:26:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0F2236B0092; Wed, 16 Oct 2024 14:26:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EAEDE6B0093; Wed, 16 Oct 2024 14:26:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C6F626B008C for <linux-mm@kvack.org>; Wed, 16 Oct 2024 14:26:50 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A274AC098F for <linux-mm@kvack.org>; Wed, 16 Oct 2024 18:26:39 +0000 (UTC) X-FDA: 82680296496.29.FFE3170 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by imf12.hostedemail.com (Postfix) with ESMTP id CF4B440003 for <linux-mm@kvack.org>; Wed, 16 Oct 2024 18:26:43 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Xduee7C0; spf=none (imf12.hostedemail.com: domain of andriy.shevchenko@linux.intel.com has no SPF policy when checking 198.175.65.13) smtp.mailfrom=andriy.shevchenko@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729103135; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=yxY/Hm+97hLjNIALIQ4UupEbEbhrzkTEqLMdBvhg1Lw=; b=3MSw1oeneE9827+aYRwo4kMsPjSVfFqaLTOLKl2quEqcQdusOrvMDHmveRP5/RCWzTL90J UOivT1A3kOhxlUzFNjARdcGqZPFEThf8DsZoSGkG7cCVUg4Sm8jpFYpOpzcW6Cn8KyYxNQ dvssx/B76zJsDGdtb2M5YUHUhVOGELA= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Xduee7C0; spf=none (imf12.hostedemail.com: domain of andriy.shevchenko@linux.intel.com has no SPF policy when checking 198.175.65.13) smtp.mailfrom=andriy.shevchenko@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729103135; a=rsa-sha256; cv=none; b=Uf67x0FLkurrTpaB4y6YiQBMb03Zol4ShCdvTKRBiqgP3PMPxjiN7HB1YIsKebr/hExTat TDhbkrZcL0ZCiJwIgvjMHEBYQlsEjAf0xLdFmDBu/gKgzgBor8U98b2gkZQq8TguvMZET1 wVXRPirdg62oaXxv5PlNzZ/q2Tmoek8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729103209; x=1760639209; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Y1pvPzSz6TtO0NwNOIptufkDVrOTI5EKhsiPz7J6yYM=; b=Xduee7C0S2cn0/9VHSvS2Yt3rU/RN6XOP8rA0HKJhXUbLCQ25QYI6Vu6 /RjDs7tA7zDxcIZ2zbDdfsY5CyP9dt+AFbVlXrEI5uzmqUs2nblCwOEBq 2eRzWt4UEuCM3vT0vijUAprXGbpG8ZtsbXWby3S+lZl6f0zDAm+pVDYSC C+OVG+ETOEx6Vtovz9WByTFFvfA5RbVbheTvWuReJzscrgLTOpMDPzFpX diHOznfsew/W5wcwyV04H/R8//SCU0py0RvWQC2L6RtHWKD5oJxMRV/IF +VymP6rqkchdn0xW+hkAnb/fEgUUYWTyE8ksfGUDZiC4B+z6h0pD0jTcj Q==; X-CSE-ConnectionGUID: kZ3+7wUJR92GTliu8UOZxQ== X-CSE-MsgGUID: IEf+pCFdTwGClE3vTjUycw== X-IronPort-AV: E=McAfee;i="6700,10204,11222"; a="39686005" X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="39686005" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Oct 2024 11:26:43 -0700 X-CSE-ConnectionGUID: MK97uBo5Tn+tcSA03kCSRw== X-CSE-MsgGUID: gIKrOOOwSb2pvAmcsBYolw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,208,1725346800"; d="scan'208";a="78269523" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa010.jf.intel.com with ESMTP; 16 Oct 2024 11:26:40 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6A6CE159; Wed, 16 Oct 2024 21:26:38 +0300 (EEST) From: Andy Shevchenko <andriy.shevchenko@linux.intel.com> To: Ingo Molnar <mingo@kernel.org>, Uros Bizjak <ubizjak@gmail.com>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, Andrew Morton <akpm@linux-foundation.org> Subject: [PATCH v2 1/2] x86/percpu: Fix clang warning when dealing with unsigned types Date: Wed, 16 Oct 2024 21:23:51 +0300 Message-ID: <20241016182635.1156168-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20241016182635.1156168-1-andriy.shevchenko@linux.intel.com> References: <20241016182635.1156168-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: CF4B440003 X-Stat-Signature: c8rd3g8cigxz13977nk7tj588ac9ea6f X-HE-Tag: 1729103203-388596 X-HE-Meta: U2FsdGVkX18vMQ/vCTqZIDpKWTv0ZLv5yfVEwjw3OLfKs3feJYd3npr12vH25kRgLYFCkfVY3RYww4CK1rURLMWMl0FbwbLxXGnDP6nIPYzqHw/G1lgPHg2UKKRnaWGKfpdZTu7DRyU8R/4Pv9aqTz3xAPoCYCLVSTfaua3Cgqu87k4clf5MDPN6RwvOhDaHJbN5w3kk7xX6yF/N7K/87dYy8SGb0zI3DHfXBB0tkOT+r1X6x9CnnlXQIuVG49KrA3cP0+mxWpXEUV2nH+yekijRsustk2POqloPHacWCC87ltIaOdoIHcPHtY8jFeft3pFG48J4eYV3/S/2L3dbWBja7V2yQr/aNIVr+l6VQyL8oa69z2syBE8/nB9iG+xJv9M64j26NKmynq8B0Siz7fs2VUY/d/ymg2Bl2MHficxBNaRbZc18H1Dni0A7Jz3OSTlMmCr5pYlIQll4SObdF/Ab7diMt0vEOFJsWsJIeUJoUuX6X8dmaG8lSarZuh8EIa180a6SVGbZilRzQ6q9QMi6WidKS1PYbHsmoKhKx802wlEt+2y/vf5QTuoLppbc0uE3d4sSTV3ULLQtj4v30v06Qy8iNjZt/guWqYNVbeIdilDoxQGw80Dr755gMDNAu5ryzNxWgFFzHBL3s+ZVKttWd6lHeD/9v02SQtRuMwhZA+OAMZfgN87mC1LyPP6kYXkyzIGsdoHGImgFl2rRuvG33qD0izdXpkbW6J7ssmlJC/46pHn23XkiL/NfJarW65ttSTXymTbcC9ZePDNojFxZEsbXBxgiGp0jQtixlUVJSVz4Xn7Bac55na1vuoKwOCTAFvVuk1g6RlDRAS6G4OSTJhQylU68UgAM8ZOkIDdXLzEdX+Puq90abEoNIarl+0t1fLdd0zzVOsBUIVnxIoGf+/4ZWupUPut4xZPtMabTBtHrLRmyC3z3doMAenHkb14QNuq8evjFXKM1LYp wiGIKcmj A++e5H4poiy30t5xxuD0YMRSOs1u8nKd533ODN0PbmZAJez3/lFbbYY1hDVN4nkvkbTEtHK+OLvdnMHqw9u5GjRDt+5R+k3wXo2Gyl04zrzPnhcY8xdk1pqqXoZ/frbAs54osQ4fVomSfp1R/ZY96ZT5CX32+WQ5nqdVlyqjuYPbggXQAZtzVsEpplw8QRwRBg8Gle/1nKMRf1Lp9fnfRoQBxXw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
percpu: Add a test case and fix for clang
|
expand
|
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index c55a79d5feae..e525cd85f999 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -234,9 +234,10 @@ do { \ */ #define percpu_add_op(size, qual, var, val) \ do { \ - const int pao_ID__ = (__builtin_constant_p(val) && \ - ((val) == 1 || (val) == -1)) ? \ - (int)(val) : 0; \ + const int pao_ID__ = \ + (__builtin_constant_p(val) && \ + ((val) == 1 || \ + (val) == (typeof(val))-1)) ? (int)(val) : 0; \ \ if (0) { \ typeof(var) pao_tmp__; \
When percpu_add_op() is used with an unsigned argument, it prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y: net/ipv4/tcp_output.c:187:3: error: result of comparison of constant -1 with expression of type 'u8' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare] 187 | NET_ADD_STATS(sock_net(sk), LINUX_MIB_TCPACKCOMPRESSED, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | tp->compressed_ack); | ~~~~~~~~~~~~~~~~~~~ ... arch/x86/include/asm/percpu.h:238:31: note: expanded from macro 'percpu_add_op' 238 | ((val) == 1 || (val) == -1)) ? \ | ~~~~~ ^ ~~ Fix this by casting -1 to the type of the parameter and then compare. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- arch/x86/include/asm/percpu.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)