From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.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 41D7B31DDBB for ; Tue, 10 Mar 2026 21:24:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773177891; cv=none; b=ki3NsHDKMq1EUl40jNwAJVH2SQbYD2SQ8FibkTvMFwRNwgMM07AePECi9oaHsTzh8CuvMBV/tXJ/QYgdyP97MvZ7LKkOvV5dJBp6wvJHIoBLGfhnK5YvOq+7TkLbJJfcBvggDMDyH1DsWwDSIw/LthGpYZjBmjB8wUxQEWBemCo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773177891; c=relaxed/simple; bh=b3ECRG/jGXO0JjA9PRWRoU331B+bXCQriTzpMDbovU0=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bZdabg3bKFByQySCNOLi0GxJxSWQ6DLsy39jMK5dCmrOX2dL81Zpz5gpKJ0n27FNAF2JsMK3rs6YsmMIX4P+xVyqTJ6+WI/9k6y8pnKr+tru/Ayu8f/uK3eaQl/d3aBF6bxh/4crk6g+ChAeEUHNAQ4mTYYEJdL/pJmW6IyGcYw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CxgimxWb; arc=none smtp.client-ip=209.85.221.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CxgimxWb" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-439b9cf8cb5so8958930f8f.0 for ; Tue, 10 Mar 2026 14:24:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773177882; x=1773782682; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=W+2joFWWQHIXoC1xyoVatQK7FtmRRXNESbtQ+rrIghw=; b=CxgimxWb47KKGAlB4ha/SWnxwBst2hZX9Vauy0z4DLnbS+qF2eiYvClUNzLHoInAy2 LoFwxEmafLtCR3BXbIPxGlO+fS1LAIPZbjDLUfIP+Y36YxHUtlfIJBqfLo54R5aCQrm4 lrKUSfEXYax36BlPy8r8frGccr7x55cMwf7RVBfPwHtRyDV56R/eSbKav0Rfv3fijp// ITcaSVRedEIbmWmF9M5TyMNDkYQhKOVOZ6sVvumnALYRQMUkn+OXWs24lwdA4RYkdD9O z6KKAbI+doKurCYHtcoJSa/ixlTZUG+5Xt64ia8+SVG0PvoOz8SIazewTMlxMB6Dqf1L kolw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773177882; x=1773782682; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=W+2joFWWQHIXoC1xyoVatQK7FtmRRXNESbtQ+rrIghw=; b=hTs3WAPxskQqoHjOseDhB/Mt9Lup+zPXqBpEDXRv5eyyBjnrz//WVX3UFtKiZjHY6q 5dzbHmyIgv2P40XlQZRTo+h998aznT9L6SrVlOHBsiB6zAKfwSQf/imBkrTFCB7+WyWW 5aEL1kqRNfzmShZSxmOI2sbVVgJKcoAThBGkbnbVVkNP4HR8Gld0RwSPm/rKKHmvR1G7 7M1cK+CH0J49VYrGlyt+4AafyQ5vlKegp7UqoN5EruvPFuodPhVN3svtvUkplxB20Wy5 xRjv60UeYoPvxKJ5hB/1NKLHlB1wv6t/12vLLTy0il/8BVxz+F5mM/VXzrGGvKi6lpvY y5fA== X-Forwarded-Encrypted: i=1; AJvYcCWOVYCJ84TP9ewn7bWUpXgws4J34aPpbuFVH6OuZD89yeZVRGJHZ3Mc+sEEwojJjr+0Hx/tFKOTWvFvXnI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+E6Nb4NFM93xBPrNidL9S5LJ9NWK+Kdm5/+Oy46nLitmygBr3 av/tC49mGhfRo4CDXldsGtFleAiHb9wvUTVGFObyetM1gA47nk2+29+H X-Gm-Gg: ATEYQzzjglCimrEZtffwuBYi39AoMEsC0KwRHv3OFHVCfIkcqtkwMRZvwJBWEASCHuI ECWugzE/+l3YCvMlnbpVHBc29g8OTN9hCCtgJ+eyMQVb+QuwUDiiMsENbRBoTu414/r8H4n73xu fEFoTjnFjsBYd5Xk7sJbuH2ukbjxbe3q1dEswoMcCw237UDBhfWtK+BjrYjHaOVvgfqDUspbEGM tnwcgVlJsEFMJ/8A0CzuLKT29rh3hmzPpJw++7MGAMfgThsbP1fzvF60PpUQda0Zw9FKYWDrlYz X3d7cVWAMywrtlHHEQ1csKZLV6+S8/hc9jfj+y0W074vOHXWkMfequcRh708aypBqJjp2uZZxmO jzdCLVwwyGP9YgNj79heuZV9nTkJPy23UsasqFkN9u5P+D02tRB11kPyLOpOgjyPGYxjlf5Lz8V pl/ijz+gnefNmnX0Ycw8thw+SkvmhQb653gGje1MDc8Hb+qVbt+wn4BRb21JrCjTkC X-Received: by 2002:a05:6000:2913:b0:439:b3d2:3768 with SMTP id ffacd0b85a97d-439f81c8cc0mr815295f8f.21.1773177882141; Tue, 10 Mar 2026 14:24:42 -0700 (PDT) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439f821e32csm948153f8f.35.2026.03.10.14.24.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 14:24:41 -0700 (PDT) Date: Tue, 10 Mar 2026 21:24:40 +0000 From: David Laight To: Thorsten Blum Cc: Leon Romanovsky , Jason Gunthorpe , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] RDMA/mlx5: Use clamp() in _mlx5r_umr_zap_mkey() Message-ID: <20260310212440.0df8180c@pumpkin> In-Reply-To: <20260310145727.236094-3-thorsten.blum@linux.dev> References: <20260310145727.236094-3-thorsten.blum@linux.dev> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 10 Mar 2026 15:57:28 +0100 Thorsten Blum wrote: > Replace min(max()) with clamp(). No functional change. > > Signed-off-by: Thorsten Blum > --- > drivers/infiniband/hw/mlx5/umr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/mlx5/umr.c b/drivers/infiniband/hw/mlx5/umr.c > index 4e562e0dd9e1..1a6b0ac5c24d 100644 > --- a/drivers/infiniband/hw/mlx5/umr.c > +++ b/drivers/infiniband/hw/mlx5/umr.c > @@ -1013,7 +1013,7 @@ static int _mlx5r_umr_zap_mkey(struct mlx5_ib_mr *mr, > MLX5_IB_UPD_XLT_ATOMIC; > max_log_size = get_max_log_entity_size_cap(dev, access_mode); > max_page_shift = order_base_2(mr->ibmr.length); > - max_page_shift = min(max(max_page_shift, page_shift), max_log_size); > + max_page_shift = clamp(max_page_shift, page_shift, max_log_size); Is page_shift absolutely guaranteed to be less than (or equal to) max_log_size? clamp() doesn't guarantee the order of the comparisons. If I read the code correctly it changed a few years back - on a commit that said it didn't change it! I think clamp() currently uses the other order, I looked at proposing to swap it so that clamp(int_var, 0, unsigned_limit) could be valid (returning 0 for negative values). David > /* Count blocks in units of max_page_shift, we will zap exactly this > * many to make the whole MR non-present. > * Block size must be aligned to MLX5_UMR_FLEX_ALIGNMENT since it may >