From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66B8A329E79 for ; Thu, 28 May 2026 21:20:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780003244; cv=none; b=t8bkYny0LHuQcZLaj41xv1+K5eIiBSWcp5A7lIEcc9NouPK9F+wBlh7ELt654w9GYDom3iNrH1f2fEwbUltbHEmSmGxSAOTbZIwczJ6Ox/wkryVps214O/BgPAPkSamSwQ1y5NLRrIAHt94iyx+aQp+NeuPgxNkf64l5QxEsJWc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780003244; c=relaxed/simple; bh=A94/tG6lKwQbFmTIH4sDEme76FVU1xOwfrmbZsKbPC0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=OcRW0X/q0aZIj+ITXdjJ4UBYVyYe0DbYYMCcCebTv9PUqj7FIOAvJDhmzISADAh2TH6bkni1q2Svc0SvxemulyCqo7z0D9X4LyM6dluOISeke5Tfw37veoU/Y+3tOHoBeJ4VxvYnCNfo8/C2XrMDhY7VLiAx3HuMUAB0I/gbQ1I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ieee.org; spf=pass smtp.mailfrom=ieee.org; dkim=pass (1024-bit key) header.d=ieee.org header.i=@ieee.org header.b=U0xapiU0; arc=none smtp.client-ip=209.85.210.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ieee.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ieee.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ieee.org header.i=@ieee.org header.b="U0xapiU0" Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-7de431da8fbso10872634a34.1 for ; Thu, 28 May 2026 14:20:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; t=1780003242; x=1780608042; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=REoNE1HfXaVLqrZcttqszE/nOIthQd3PR5HKi6IwFgI=; b=U0xapiU0YMyockxdy40A6yiBs5y98rBhsm7KOzgP2z54qLQzrRsxz9GcwlasBHHU42 WivFvQTIPomIou7Mgrm0+ugQJRKFTzHy7Y4iVZcuhcSviUgoriizCwwOlR+wyW21zj1j 5WJoF27loXVx34OcWAkAL4DDkUNXIy66LBSZA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780003242; x=1780608042; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=REoNE1HfXaVLqrZcttqszE/nOIthQd3PR5HKi6IwFgI=; b=poh6oO49CKzNXA27hnJJD1k3dtYnKeDDTtan5df7cDv+oDRvEUxDHBY8Krx4LLtVoJ divplfIDe15A//KBv8RHi2QdEIOQxpQQe1eJAEpM8XMohrx+yIg5XlR7mNEAesgGas8H PAJoj5PRxqmYtZi9wqJN7Uc7IIJk8Vp9rmYDd44Kex9yuX4YuR8nXXoyi/oNha4fvVqy efaC0gRwLDcwLN3qKlw3KkDrbqJSV5L4MN00FJ3vQq3TaLObXzsX13INWosPng72vQh6 JGxIZTw/VLRoNG2R2ZZ9FditlYetV0+g84+yK4gjCrNel4V9ZZwB6DPtHIaJ6gQ2Xw8W stTQ== X-Forwarded-Encrypted: i=1; AFNElJ8nO9SQJNp4I8gXolMGZX5uDnk2QZlmthbstzJ8wD9twD3GE59DkigU+ItKCRRjMySapXC/7tkftaL6KFA=@vger.kernel.org X-Gm-Message-State: AOJu0YwldLWa3aLImlqnXgv1ZshCm68kmU0AaPX6NdslbnvwdpITRaxV e8eSA+AwN/GdcJBBTdDTuSHBWxbLW+nVuIpCwTgKK4MLnciciHw+OIEvELoRpXbo5g== X-Gm-Gg: Acq92OF/JXcQoH0JkCuA3+QKCs1ibH5WflVC+cjZdWVG5HOPNOtUxpEwWVwYj1nEV3O qxIx0nfGrOPQ+toTXoBRhE/CaQ/5vLIsKgPdDxnCw/FkW1TlcCJ6iHAKwSjsbpqc4Zd+/tXFciO r0Q/x8cq/i9EyaaeRBLrGYD6s0za5H2Tm7tdPrDdugQUM6mP13ONv5VjTLpKGIKR5RWBBLCEb2R XnnKudrIo47mD9bsj21Gnei07Gac92BZ1tAZ9loSI+y8TL6RvgWvcsGYUe5eG3g6+EUKrAgz42G 6avKlRt6cblC46SG57E2liv6pccMA3A9whWtS+9wysC8ZWNoR06B3g9327HpvT089icRW3YQzOO e8Xd3S8aQBgke4DyX2NP2pq53UH5eqojQlWP25VM1njZx2rnUwJmJcv7kh+9z7S0wGWi8FnCNA2 d/YUYB30ZJ1RWqMs1qoQYbkYhczYW9 X-Received: by 2002:a05:6820:4dc3:b0:69d:fe44:b399 with SMTP id 006d021491bc7-69e03eff921mr174988eaf.19.1780003242288; Thu, 28 May 2026 14:20:42 -0700 (PDT) Received: from [172.22.22.28] ([73.62.185.64]) by smtp.googlemail.com with ESMTPSA id 006d021491bc7-69e040ce50fsm118638eaf.2.2026.05.28.14.20.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 May 2026 14:20:41 -0700 (PDT) Message-ID: <01625bb3-1a91-4d2a-bfc8-7d34ce4b5e5b@ieee.org> Date: Thu, 28 May 2026 16:20:39 -0500 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] rbd: cast snap_count to size_t to avoid tautological comparison warning To: David Laight , Rosen Penev Cc: linux-block@vger.kernel.org, Ilya Dryomov , Dongsheng Yang , Jens Axboe , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , "open list:RADOS BLOCK DEVICE (RBD)" , open list , "open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b" References: <20260528202151.136274-1-rosenp@gmail.com> <20260528220505.73eac71a@pumpkin> Content-Language: en-US From: Alex Elder In-Reply-To: <20260528220505.73eac71a@pumpkin> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/28/26 4:05 PM, David Laight wrote: > On Thu, 28 May 2026 13:21:51 -0700 > Rosen Penev wrote: > >> snap_count is u32 but the comparison is against a SIZE_MAX-derived value >> (~2^61 on 64-bit), which clang flags as always false with >> -Wtautological-constant-out-of-range-compare. Cast to size_t so the >> comparison is done in the correct width. > > If that warning makes any sense then the cast shouldn't make any difference. > > Why not check against RBD_MAX_SNAP_COUNT - the buffer isn't big enough > to hold any more than that. I like that better. Please do that instead (despite my Reviewed-by provided earlier). -Alex > > -- David > >> >> Assisted-by: Opencode:Big-pickle >> Signed-off-by: Rosen Penev >> --- >> drivers/block/rbd.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c >> index 94709466ad19..b4ba51db9a28 100644 >> --- a/drivers/block/rbd.c >> +++ b/drivers/block/rbd.c >> @@ -6079,7 +6079,7 @@ static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev, >> * make sure the computed size of the snapshot context we >> * allocate is representable in a size_t. >> */ >> - if (snap_count > (SIZE_MAX - sizeof (struct ceph_snap_context)) >> + if ((size_t)snap_count > (SIZE_MAX - sizeof (struct ceph_snap_context)) >> / sizeof (u64)) { >> ret = -EINVAL; >> goto out; > >