| Message ID | 20251017090519.46992-4-farbere@amazon.com |
|---|---|
| State | Not Applicable |
| Headers | show
Return-Path:
<linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
dkim=pass (2048-bit key;
secure) header.d=lists.infradead.org header.i=@lists.infradead.org
header.a=rsa-sha256 header.s=bombadil.20210309 header.b=ZCWxel1s;
dkim=pass (2048-bit key;
unprotected) header.d=amazon.com header.i=@amazon.com header.a=rsa-sha256
header.s=amazoncorp2 header.b=VkQDlrIR;
dkim-atps=neutral
Authentication-Results: legolas.ozlabs.org;
spf=none (no SPF record) smtp.mailfrom=lists.infradead.org
(client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;
envelope-from=linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;
receiver=patchwork.ozlabs.org)
Received: from bombadil.infradead.org (bombadil.infradead.org
[IPv6:2607:7c80:54:3::133])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4d3hJm0byyz1yMX
for <incoming@patchwork.ozlabs.org>; Sun, 9 Nov 2025 03:31:36 +1100 (AEDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help
:List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:
Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date
:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:
Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;
bh=LF9YnUdrpKxMSkc+LEc4zqlPhsgbROXsY4bZTz/lajY=; b=ZCWxel1snVtqlKf3LD51sNrVup
2OfytgjveRxa+Y3QudXiSZMMJ0MN1722tMsxpa0IKj5NKPs7AgBNOfk5j+rDaXpDxm49k2H64UIz7
4H+0tX+xPnVdQ3hf7ph7fmiLb14MGY2I1b2xaRF3WNfdc4RbKKV9p5/zZ9jpTJ+vReVgcm2tIGuuZ
UHI2lP3gT0c8GsBofoSZFWr2reJNdTiFfDdXev9H0Bf2Y7VHP9W25wlMRbfqkMfaqtDi4OisZhZbc
Kfr2c8BfpqRx0s5HZbGnQzsySPMqXw+9f0v4fQgS16gPSfIciGHrSitYYE3/cofjNKzgFQDv/xRLN
4iJuYBMQ==;
Received: from localhost ([::1] helo=bombadil.infradead.org)
by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))
id 1vHlqf-00000003GYh-3tlj;
Sat, 08 Nov 2025 16:31:34 +0000
Received: from pdx-out-014.esa.us-west-2.outbound.mail-perimeter.amazon.com
([35.83.148.184])
by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))
id 1v9gPs-00000007BfK-1pVd;
Fri, 17 Oct 2025 09:06:30 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=amazon.com; i=@amazon.com; q=dns/txt; s=amazoncorp2;
t=1760691988; x=1792227988;
h=from:to:subject:date:message-id:in-reply-to:references:
mime-version:content-transfer-encoding;
bh=LF9YnUdrpKxMSkc+LEc4zqlPhsgbROXsY4bZTz/lajY=;
b=VkQDlrIRQI3G5ymSnyLw71FBwXsd+kSnFiyF+ylVBi6pEMF92CXmDSm0
mA4AzvhyP37kWCbgmjEaQV8FrSBDv/B2paNzUV8e5A1+PwnG46etxY7xo
PhzzXqlDbo4t90H/FgN5QmPI5wmorce9wEeqCDB7x1YEAlIkTe6Od1t9I
OPR7MqQNu7FxMZ4gkEJeUb/+DCoyR7x4Pmwnx3KOxLXh8WaX8kuiKnwn+
g8JcTW9WRTJ1+RZ7FXVXrJHDqB5EcLc/yyu/1VLZC1AalFotK2DJS6Atk
mBVzkeZUrnTqjssAwGS5FUrR6vI172OxZbHiUfsrkrTQjf8lk8vR7HFCt
g==;
X-CSE-ConnectionGUID: tdTG7D1PTECjq/YhviDi+w==
X-CSE-MsgGUID: RDmhDjPkQt2cNOpoUXP8uQ==
X-IronPort-AV: E=Sophos;i="6.19,236,1754956800";
d="scan'208";a="4872651"
Received: from ip-10-5-9-48.us-west-2.compute.internal (HELO
smtpout.naws.us-west-2.prod.farcaster.email.amazon.dev) ([10.5.9.48])
by internal-pdx-out-014.esa.us-west-2.outbound.mail-perimeter.amazon.com
with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2025 09:06:24 +0000
Received: from EX19MTAUWC001.ant.amazon.com [205.251.233.105:13608]
by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.42.150:2525]
with esmtp (Farcaster)
id babcb96c-fdd0-4325-9d44-9e8638935d90;
Fri, 17 Oct 2025 09:06:24 +0000 (UTC)
X-Farcaster-Flow-ID: babcb96c-fdd0-4325-9d44-9e8638935d90
Received: from EX19D001UWA001.ant.amazon.com (10.13.138.214) by
EX19MTAUWC001.ant.amazon.com (10.250.64.174) with Microsoft SMTP Server
(version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.20;
Fri, 17 Oct 2025 09:06:23 +0000
Received: from dev-dsk-farbere-1a-46ecabed.eu-west-1.amazon.com
(172.19.116.181) by EX19D001UWA001.ant.amazon.com (10.13.138.214) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.2562.20; Fri, 17 Oct 2025
09:06:09 +0000
From: Eliav Farber <farbere@amazon.com>
To: <gregkh@linuxfoundation.org>, <stable@vger.kernel.org>,
<linux@armlinux.org.uk>, <jdike@addtoit.com>, <richard@nod.at>,
<anton.ivanov@cambridgegreys.com>, <dave.hansen@linux.intel.com>,
<luto@kernel.org>, <peterz@infradead.org>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>, <x86@kernel.org>, <hpa@zytor.com>,
<tony.luck@intel.com>, <qiuxu.zhuo@intel.com>, <mchehab@kernel.org>,
<james.morse@arm.com>, <rric@kernel.org>, <harry.wentland@amd.com>,
<sunpeng.li@amd.com>, <alexander.deucher@amd.com>,
<christian.koenig@amd.com>, <airlied@linux.ie>, <daniel@ffwll.ch>,
<evan.quan@amd.com>, <james.qian.wang@arm.com>, <liviu.dudau@arm.com>,
<mihail.atanassov@arm.com>, <brian.starkey@arm.com>,
<maarten.lankhorst@linux.intel.com>, <mripard@kernel.org>,
<tzimmermann@suse.de>, <robdclark@gmail.com>, <sean@poorly.run>,
<jdelvare@suse.com>, <linux@roeck-us.net>, <fery@cypress.com>,
<dmitry.torokhov@gmail.com>, <agk@redhat.com>, <snitzer@redhat.com>,
<dm-devel@redhat.com>, <rajur@chelsio.com>, <davem@davemloft.net>,
<kuba@kernel.org>, <peppe.cavallaro@st.com>, <alexandre.torgue@st.com>,
<joabreu@synopsys.com>, <mcoquelin.stm32@gmail.com>, <malattia@linux.it>,
<hdegoede@redhat.com>, <mgross@linux.intel.com>, <intel-linux-scu@intel.com>,
<artur.paszkiewicz@intel.com>, <jejb@linux.ibm.com>,
<martin.petersen@oracle.com>, <sakari.ailus@linux.intel.com>, <clm@fb.com>,
<josef@toxicpanda.com>, <dsterba@suse.com>, <xiang@kernel.org>,
<chao@kernel.org>, <jack@suse.com>, <tytso@mit.edu>,
<adilger.kernel@dilger.ca>, <dushistov@mail.ru>,
<luc.vanoostenryck@gmail.com>, <rostedt@goodmis.org>, <pmladek@suse.com>,
<sergey.senozhatsky@gmail.com>, <andriy.shevchenko@linux.intel.com>,
<linux@rasmusvillemoes.dk>, <minchan@kernel.org>, <ngupta@vflare.org>,
<akpm@linux-foundation.org>, <kuznet@ms2.inr.ac.ru>,
<yoshfuji@linux-ipv6.org>, <pablo@netfilter.org>, <kadlec@netfilter.org>,
<fw@strlen.de>, <jmaloy@redhat.com>, <ying.xue@windriver.com>,
<willy@infradead.org>, <farbere@amazon.com>, <sashal@kernel.org>,
<ruanjinjie@huawei.com>, <David.Laight@ACULAB.COM>,
<herve.codina@bootlin.com>, <Jason@zx2c4.com>, <keescook@chromium.org>,
<kbusch@kernel.org>, <nathan@kernel.org>, <bvanassche@acm.org>,
<ndesaulniers@google.com>, <linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <linux-um@lists.infradead.org>,
<linux-edac@vger.kernel.org>, <amd-gfx@lists.freedesktop.org>,
<dri-devel@lists.freedesktop.org>, <linux-arm-msm@vger.kernel.org>,
<freedreno@lists.freedesktop.org>, <linux-hwmon@vger.kernel.org>,
<linux-input@vger.kernel.org>, <linux-media@vger.kernel.org>,
<netdev@vger.kernel.org>, <linux-stm32@st-md-mailman.stormreply.com>,
<platform-driver-x86@vger.kernel.org>, <linux-scsi@vger.kernel.org>,
<linux-staging@lists.linux.dev>, <linux-btrfs@vger.kernel.org>,
<linux-erofs@lists.ozlabs.org>, <linux-ext4@vger.kernel.org>,
<linux-sparse@vger.kernel.org>, <linux-mm@kvack.org>,
<netfilter-devel@vger.kernel.org>, <coreteam@netfilter.org>,
<tipc-discussion@lists.sourceforge.net>
Subject: [PATCH v2 03/27 5.10.y] minmax: sanity check constant bounds when
clamping
Date: Fri, 17 Oct 2025 09:04:55 +0000
Message-ID: <20251017090519.46992-4-farbere@amazon.com>
X-Mailer: git-send-email 2.47.3
In-Reply-To: <20251017090519.46992-1-farbere@amazon.com>
References: <20251017090519.46992-1-farbere@amazon.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [172.19.116.181]
X-ClientProxiedBy: EX19D045UWA003.ant.amazon.com (10.13.139.46) To
EX19D001UWA001.ant.amazon.com (10.13.138.214)
X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
X-CRM114-CacheID: sfid-20251017_020628_545310_F6AA8A51
X-CRM114-Status: GOOD ( 12.34 )
X-Spam-Score: -9.6 (---------)
X-Spam-Report: Spam detection software,
running on the system "bombadil.infradead.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: From: "Jason A. Donenfeld" <Jason@zx2c4.com> [ Upstream
commit
5efcecd9a3b18078d3398b359a84c83f549e22cf ] The clamp family of functions
only makes sense if hi>=lo. If hi and lo are compile-time constants, then
raise a build error. Doing so has already caught buggy code. This also
introduces
the infrastruc [...]
Content analysis details: (-9.6 points, 5.0 required)
pts rule name description
---- ----------------------
--------------------------------------------------
-7.5 USER_IN_DEF_SPF_WL From: address is in the default SPF welcome-list
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 SPF_PASS SPF: sender matches SPF record
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
author's
domain
-0.1 DKIM_VALID Message has at least one valid DKIM or DK
signature
-0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
envelope-from domain
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
not necessarily valid
-1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%
[score: 0.0000]
0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE: The
query to Validity was blocked. See
https://knowledge.validity.com/hc/en-us/articles/20961730681243
for more information.
[35.83.148.184 listed in
sa-trusted.bondedsender.org]
0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to
Validity was blocked. See
https://knowledge.validity.com/hc/en-us/articles/20961730681243
for more information.
[35.83.148.184 listed in sa-accredit.habeas.com]
0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay
lines
-0.0 DKIMWL_WL_HIGH DKIMwl.org - High trust sender
0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to
Validity was blocked. See
https://knowledge.validity.com/hc/en-us/articles/20961730681243
for more information.
[35.83.148.184 listed in
bl.score.senderscore.com]
X-Mailman-Approved-At: Sat, 08 Nov 2025 08:31:10 -0800
X-BeenThere: linux-um@lists.infradead.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: <linux-um.lists.infradead.org>
List-Unsubscribe: <http://lists.infradead.org/mailman/options/linux-um>,
<mailto:linux-um-request@lists.infradead.org?subject=unsubscribe>
List-Archive: <http://lists.infradead.org/pipermail/linux-um/>
List-Post: <mailto:linux-um@lists.infradead.org>
List-Help: <mailto:linux-um-request@lists.infradead.org?subject=help>
List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-um>,
<mailto:linux-um-request@lists.infradead.org?subject=subscribe>
Sender: "linux-um" <linux-um-bounces@lists.infradead.org>
Errors-To: linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org
|
| Series |
Backport minmax.h updates from v6.17-rc7
|
expand
|
diff --git a/include/linux/minmax.h b/include/linux/minmax.h index 1aea34b8f19b..8b092c66c5aa 100644 --- a/include/linux/minmax.h +++ b/include/linux/minmax.h @@ -37,6 +37,28 @@ __cmp(x, y, op), \ __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) +#define __clamp(val, lo, hi) \ + __cmp(__cmp(val, lo, >), hi, <) + +#define __clamp_once(val, lo, hi, unique_val, unique_lo, unique_hi) ({ \ + typeof(val) unique_val = (val); \ + typeof(lo) unique_lo = (lo); \ + typeof(hi) unique_hi = (hi); \ + __clamp(unique_val, unique_lo, unique_hi); }) + +#define __clamp_input_check(lo, hi) \ + (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \ + __is_constexpr((lo) > (hi)), (lo) > (hi), false))) + +#define __careful_clamp(val, lo, hi) ({ \ + __clamp_input_check(lo, hi) + \ + __builtin_choose_expr(__typecheck(val, lo) && __typecheck(val, hi) && \ + __typecheck(hi, lo) && __is_constexpr(val) && \ + __is_constexpr(lo) && __is_constexpr(hi), \ + __clamp(val, lo, hi), \ + __clamp_once(val, lo, hi, __UNIQUE_ID(__val), \ + __UNIQUE_ID(__lo), __UNIQUE_ID(__hi))); }) + /** * min - return minimum of two values of the same or compatible types * @x: first value @@ -103,7 +125,7 @@ * This macro does strict typechecking of @lo/@hi to make sure they are of the * same type as @val. See the unnecessary pointer comparisons. */ -#define clamp(val, lo, hi) min((typeof(val))max(val, lo), hi) +#define clamp(val, lo, hi) __careful_clamp(val, lo, hi) /* * ..and if you can't take the strict @@ -138,7 +160,7 @@ * This macro does no typechecking and uses temporary variables of type * @type to make all the comparisons. */ -#define clamp_t(type, val, lo, hi) min_t(type, max_t(type, val, lo), hi) +#define clamp_t(type, val, lo, hi) __careful_clamp((type)(val), (type)(lo), (type)(hi)) /** * clamp_val - return a value clamped to a given range using val's type