From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B33C1EFCE53 for ; Thu, 5 Mar 2026 01:11:28 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4fRBM25xm0z30MZ; Thu, 05 Mar 2026 12:11:26 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip="2607:f8b0:4864:20::52b" ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1772673086; cv=none; b=DCatCOxWHk8QvDflVAP72C9pH+aAuwZSCqoLqpAor0pFJE3aBmJFJliefl6NnpidtNgRfpfxEn4WluAK3sbNGAz1S7NpbxoaEMxh/ARFT24zdyYr+qmyGtLzTPFaPG/rB/RzkkfRPO4sdKAOxfD0gjw4rX2r5uhoCnI226XF+6gy0k5PgLMMuaKbCBdVyeZgxKVBUQv9kAlH9jB1Tu8MX45YG+8ReQJbRxhanwdzBLYVN4XN4NmztoBQvi96ryoSAOKtE7RK0SoLl40w4u0MgpLkRt7Er6oPfS+hU1X+0zaO6AwLXLq4OH4kwtpnKstVfi5o9t8QKViZS4MC86w08A== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1772673086; c=relaxed/relaxed; bh=SKnQjkFTe12dAIAujOAXo1Z/SDTWWZtPhpHjK7rqYGw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WxDqAiwPrlCeCPxo/OQ+v4UXwieeu+proqjRqvTqJk8KV5w+j1R/xuEuV609P4DBcHCqNonEL9NfyA0U6Z1bR3SiUPwBE0D6V083cON7ncYPK0+pgekYf5H1WnvPv26hRAoqTF9lAAJH67m+jSLIDExgHMvd3K/mPIf8uklKhG4tBGx/nTuaSqygxpFNGTAPgFsrF33K9YTocsjK+GL5dmA0TboEX397SeSJENUr+sabXAX7msR1Rd4kvBP0GmFFd738ayXpTCb875joNWqe9SYcZFeUL8hhWqcsb45RaNixgMKLKAgSmrzto5ckiNQq9+8oz1UES0EmrV211QiWJA== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=EJl8v1uk; dkim-atps=neutral; spf=pass (client-ip=2607:f8b0:4864:20::52b; helo=mail-pg1-x52b.google.com; envelope-from=nithurshen.dev@gmail.com; receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=EJl8v1uk; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::52b; helo=mail-pg1-x52b.google.com; envelope-from=nithurshen.dev@gmail.com; receiver=lists.ozlabs.org) Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4fRBM15N50z30FF for ; Thu, 05 Mar 2026 12:11:24 +1100 (AEDT) Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-c6e734ba92bso3563913a12.3 for ; Wed, 04 Mar 2026 17:11:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772673083; x=1773277883; darn=lists.ozlabs.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=SKnQjkFTe12dAIAujOAXo1Z/SDTWWZtPhpHjK7rqYGw=; b=EJl8v1uk8ua7EWXiQxftNwp658Lk38ByX5U6aUzbh3GUT+KVq/nmMDCva4BnhmqzzU XF4AwxPpmbiKKIWQ8K6y9GZfJWRQnuPRmL036/At2SEW2Qmxu3qseSLidgl7qWgBWYSV vw2QL0G96kR49bibXBj+eBGgARLfHWBhiZsxXrqWNjVCyuJpMj6yYBIUtuiHZx3e/Gu9 BmRKX0hyoC+qNCMsaaKSxpQVXeQ7+ASBoCkihM7+cBL6BSuHo1u1pAGu6bPUG5+hF46k n5cXgJ9Q4oLDT2SiAXAVXwMMo0YYrl0qMV8SLBx3mMQAGn6rtZNkH7gHrgeAn38jCg3c oQ4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772673083; x=1773277883; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SKnQjkFTe12dAIAujOAXo1Z/SDTWWZtPhpHjK7rqYGw=; b=pmVELsPLhuR4f78W28GGHrkszbf7jk/nqT3AdckQU9Za1p9nLMCaJooar8er5cwEaj flm8IohjQ438TDBho4tTbXiSFPpc7GTqTtcTM2nywUkyTpb4WhWTsVcI74RYpW3FST5u PbPuqc2GfMzvFYSAH6s283aMaMqgjtFPK4NTNid5eaP+nCpN2Jl9TilX8jApK+lIORRt UbsbpYeT1tf00AIKBsrk/5NkZUrNeFGy7bWMzoVZjxmdMe3RyknRM13knJC1BTVwrmUj JT/rfiF/4m/mEqfKiVRxwdKkby/Unj3wsiRb4oJW93zuMz5H9rj460D5mDhfPJVplNP3 sERg== X-Gm-Message-State: AOJu0YwvD0PPndJOG82ElTtHW28seBwCy1lqEPiL8fOdqcoX0ZiZil6j zioDXdSltL/umV14beUULGmlG1eFoqa5js0SWt+xjnMPKewUhc+oyzlyHdFVuVY7 X-Gm-Gg: ATEYQzw4lvj4qOkgFR7vbBSMQjnMHOpB5Bu5TIGVND9vpkGYiyp5Z6wHJvaLWN3HlKv sSZrRsSshYscvHo6NnqgBxaXJ4+tMlhVACI3V7lPSqfFetqYc8bR8/Iioln7PrgDA8ppqlDXk63 dSdF6t9ZfmCiA5oNDsrMeQg+Xy3QqjRcgngy5GdeGNId1fcIPSkzI3rqw1nlnzMXl89xvtk0mlj i7rvqUbk0q151uqA1Xhx2ek9bJIxkRhzFm8mGIYZbDDzNledLgB7amX+gkujrQ9XAcNz9mWzM76 LwsgyUaaPrTZmIcMHxf246/8Pa74YCQIOU24dFDonrpI6eJ17IF0RLD1ocFHyL7CgMZVM1gWfny NnLGSkYaDnkGnhs+P+FkWElqNu0mHK5oXIgnNXHSWeXtEbBLtyp2ZkfTop/OESK+xYEu62Yqt7D a+EJ966UEz4LoraWAtvi+aXpqv2/opqv9y+rMv X-Received: by 2002:a17:902:dac9:b0:2a9:5e25:46f6 with SMTP id d9443c01a7336-2ae6aa2b8b6mr40058995ad.17.1772673082565; Wed, 04 Mar 2026 17:11:22 -0800 (PST) Received: from ubuntu-arm-nithurshen.SNU.IN ([45.114.151.85]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ae45b5201fsm120865625ad.87.2026.03.04.17.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 17:11:22 -0800 (PST) From: Nithurshen To: linux-erofs@lists.ozlabs.org Cc: xiang@kernel.org, hsiangkao@linux.alibaba.com, Nithurshen Subject: [PATCH] erofs-utils: fix undefined behavior in erofs_init_devices() Date: Thu, 5 Mar 2026 06:41:15 +0530 Message-ID: <20260305011115.50506-1-nithurshen.dev@gmail.com> X-Mailer: git-send-email 2.51.0 X-Mailing-List: linux-erofs@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Using roundup_pow_of_two() on (ondisk_extradevs + 1) triggers a potential 64-bit shift warning because of the internal n-1 logic in the macro. Since ondisk_extradevs is already validated to be non-zero, use fls_long() directly to calculate the device_id_mask. This resolves the 'shiftTooManyBits' warning and is mathematically equivalent. Signed-off-by: Nithurshen --- lib/super.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/super.c b/lib/super.c index 088c9a0..bff9b1e 100644 --- a/lib/super.c +++ b/lib/super.c @@ -29,7 +29,8 @@ static bool check_layout_compatibility(struct erofs_sb_info *sbi, static int erofs_init_devices(struct erofs_sb_info *sbi, struct erofs_super_block *dsb) { - unsigned int ondisk_extradevs, i; + unsigned int i; + u16 ondisk_extradevs; erofs_off_t pos; sbi->total_blocks = sbi->primarydevice_blocks; @@ -49,7 +50,7 @@ static int erofs_init_devices(struct erofs_sb_info *sbi, return 0; sbi->extra_devices = ondisk_extradevs; - sbi->device_id_mask = roundup_pow_of_two(ondisk_extradevs + 1) - 1; + sbi->device_id_mask = (1UL << fls_long(ondisk_extradevs)) - 1; sbi->devs = calloc(ondisk_extradevs, sizeof(*sbi->devs)); if (!sbi->devs) return -ENOMEM; -- 2.51.0