From nobody Thu Apr 9 06:36:35 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49DCC3F23DC; Tue, 10 Mar 2026 11:44:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143053; cv=none; b=u7lFd0rRlkjjXQwaB6yath93SDtTVa1bSnjO50OE5iQ8FxEoNhrIdz5qGHItLHrsHaZt9MrP2lWCKKxPJ311hxE7xt8EZ8JvNzAf8pcTkavojxo1qaFSzLx8XGcyF2Ev3T9G1YqNClunwHEzzjZnjQo0XRMjj1Cy1xzyWSQI1f4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143053; c=relaxed/simple; bh=aG1bsckWvsI6XdW2oq/+sffQOcFy7MrP5MMQ9NbMVcE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nbXhsxQqG5jox+tA9Yj2S1AEZMjDXTOi1QTRECt4JhDUAbsGruK35s5qQ4OKj7U9iTp837xrUOekfMW9w2OMCEbJQU/6eDjudC7k8tjw+KJEVjer++RxuPYCKws04s/Vj494M3ktnZzFvks6ZkcAXB3iY/tbBDHGiBwLBAMQS70= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=T6O+9c+e; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="T6O+9c+e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA327C2BCB5; Tue, 10 Mar 2026 11:44:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773143053; bh=aG1bsckWvsI6XdW2oq/+sffQOcFy7MrP5MMQ9NbMVcE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=T6O+9c+eZcgOWYhQ76lypVhWcbe0tWnsO8JIXOd3T66Yu7jbCcY/j2cOMaI60z6Dx 7nGJ1WQMoQQlMp3YOG5ovQ02uXi/OE3M7TAZzGoWZujAbq6CXRo3g4/VAYYoPytYs+ 4A1H9w07NyfwwzfjqzLK+mYRoZp3rxY2iIReQI/z1GcE/DbGtrdJfP2lLGS3pxeqI/ SuW14m7cZzGc/oXfihtyenotY90fwA8VOZWKtETS9/uEvazw6tT9zlL5kkQb0dxerj ELwLdXh+8/22zm9zihIVnaD8G6oUp6UK4ifXRq6jduff/eB8AfK66G6gs80j2oqEF7 5xzMHMj+CSXrw== From: Jeff Layton Date: Tue, 10 Mar 2026 07:43:44 -0400 Subject: [PATCH 1/2] nilfs2: fix 64-bit division operations in nilfs_bmap_find_target_in_group() 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-iino-u64-v1-1-18422a053b04@kernel.org> References: <20260310-iino-u64-v1-0-18422a053b04@kernel.org> In-Reply-To: <20260310-iino-u64-v1-0-18422a053b04@kernel.org> To: Christian Brauner , Ryusuke Konishi , Viacheslav Dubeyko , Mimi Zohar , Roberto Sassu , Dmitry Kasatkin , Eric Snowberg , Paul Moore , James Morris , "Serge E. Hallyn" Cc: linux-nilfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, Jeff Layton , kernel test robot X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1538; i=jlayton@kernel.org; h=from:subject:message-id; bh=aG1bsckWvsI6XdW2oq/+sffQOcFy7MrP5MMQ9NbMVcE=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBpsAQJGiNQe/OYjZ6t7Mr7eUh98pVnnkgOOgF5C z+g5X0IZr2JAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCabAECQAKCRAADmhBGVaC FSmvD/4irF/uCRALfksheDuf0if0NvOID2cRUcH50SFh9b63TqKKi4Dy3FwPN5kTxh8XG/9onWc rEJbxmgXib2EYgqxhb70kFx6Kb4z1kDQAyzeH7LeoyeNTz3EgsAcuvryGPoOFv9JrSZRnGV1/OC RnVnr2ORzsVlujxmRZVBapP9RGmq/1LxIc3BIhnjpAR4aWBuCkoj65/YxVAHuReOOjXOWikciiW OY1RRcqqI/SEwIkX2nJerVtZOZQo2rWsinjtF/G4T2Ke6argtt877bkpTzimjYWffMwOg5iYx4l A1iQES5HNIG4KWbGnZCuaGT7MTZeUE0az8E+LlsuhHr1P0Kf+aZRVc7dHD74nyY8WZx2H3ZTnmC SMU04p6G6NS1P4qGLFtb9zpdJKTjxWpyQKsRz3G8ydWTaLSSw1UEnYL4Dc2VknqarRj10NNAs8c PtQ0+HDhivM/4eDK1GVMIebuab+K2tTII2D5nroixsPtt4IlmNXkjPCbmH5ebo8YuHEsfwLEzPr /qrLWNRuAkC9yufXkiJ9b9Z+mIS52xc5dNYtU7/Zte6Zr4VaISOSV7L1pdqGR9dBs+7eOrkdrkk x+aSs/Qlvhc2rSjt+eXQANSLP0/6TqrHiwJ7GeAq46d0r3xkdj0zgDzC0mPg4bT/Gc69epKoNxU v8U5bHW/hLcBV+g== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 With the change to make inode->i_ino a u64, the build started failing on 32-bit ARM with: ERROR: modpost: "__aeabi_uldivmod" [fs/nilfs2/nilfs2.ko] undefined! Fix this by using the 64-bit division interfaces in nilfs_bmap_find_target_in_group(). Fixes: 998a59d371c2 ("treewide: fix missed i_ino format specifier conversio= ns") Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202603100602.KPxiClIO-lkp@int= el.com/ Signed-off-by: Jeff Layton Acked-by: Ryusuke Konishi Reviewed-by: Viacheslav Dubeyko --- fs/nilfs2/bmap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index 824f2bd91c167965ec3a660202b6e6c5f1fe007e..4ce9a93149a5af13bc215cc1877= a757e2c6cf49b 100644 --- a/fs/nilfs2/bmap.c +++ b/fs/nilfs2/bmap.c @@ -455,11 +455,14 @@ __u64 nilfs_bmap_find_target_in_group(const struct ni= lfs_bmap *bmap) { struct inode *dat =3D nilfs_bmap_get_dat(bmap); unsigned long entries_per_group =3D nilfs_palloc_entries_per_group(dat); - unsigned long group =3D bmap->b_inode->i_ino / entries_per_group; + unsigned long group; + u32 rem; + + group =3D div_u64(bmap->b_inode->i_ino, entries_per_group); + div_u64_rem(bmap->b_inode->i_ino, NILFS_BMAP_GROUP_DIV, &rem); =20 return group * entries_per_group + - (bmap->b_inode->i_ino % NILFS_BMAP_GROUP_DIV) * - (entries_per_group / NILFS_BMAP_GROUP_DIV); + rem * (entries_per_group / NILFS_BMAP_GROUP_DIV); } =20 static struct lock_class_key nilfs_bmap_dat_lock_key; --=20 2.53.0 From nobody Thu Apr 9 06:36:35 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C60DA38A739; Tue, 10 Mar 2026 11:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143054; cv=none; b=nGuniT60fllSENlQsLQHwgFy1lo1lEKtjwKD04POFYhGIgS8ed+DNZKT87+5OAuT6ibDKkNb0emkdodfa3xdz7t0QZRaaDtWxQz9j7mipSevIUpnSh16ORbspxKMfuATRHbI/dXh+YIB8YOQIkRBCPaOcq6v265Ea/A/3idSihY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773143054; c=relaxed/simple; bh=tZVxDFpeo5B1O27Dnnln/LLZR+hDKidvFRk+FhjVuRg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qOORFI4OWDHujk4vq0B1SfzCTD04XQjNz03k3oavvHxka27qvlNbmh81kGJDwAW0MYHXJdh4Ut86V7gJ/nT4ge4nnmwohjeNB8//+9p0HciIRzSF/OAVliRHYsSgBy/Tr4aTr/1RVAe4Guw9zrgjRWsVCxS9U4kVhJqq0XS7wL8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=n2eNYlin; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="n2eNYlin" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 485A9C2BCB1; Tue, 10 Mar 2026 11:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773143054; bh=tZVxDFpeo5B1O27Dnnln/LLZR+hDKidvFRk+FhjVuRg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=n2eNYlinmdaBFFcGcyoW1xfxp7kD5BHjVVQM70/mGjtyaM/pVpaT/rcHU3O49wkIq GlYDlZlUlB9RjZJj68uJZKhNugrhIYrt/7LjfrPCkegXSWgWGiIgigntXlp680EWyp GpF5DPuYJ1p7H+aitKYEUsndmjRL8GuVOXoRU7wsvCheTtiEaTwiS5nk5kpMEGUPQX xvYzH3YZTzngwGPlz6KchhzbIQIGWq3cH1wyQwC9yUaN1fqz7IhgNpueZFEE1Jkvqs /spLBCyZrL3Ys+NTUGTEEeVmnznJcBAsBXKayD9ZKjIPsHMokipqTg0RtcuIIUWXm2 DnS1M4tdywCzg== From: Jeff Layton Date: Tue, 10 Mar 2026 07:43:45 -0400 Subject: [PATCH 2/2] EVM: add comment describing why ino field is still unsigned long 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260310-iino-u64-v1-2-18422a053b04@kernel.org> References: <20260310-iino-u64-v1-0-18422a053b04@kernel.org> In-Reply-To: <20260310-iino-u64-v1-0-18422a053b04@kernel.org> To: Christian Brauner , Ryusuke Konishi , Viacheslav Dubeyko , Mimi Zohar , Roberto Sassu , Dmitry Kasatkin , Eric Snowberg , Paul Moore , James Morris , "Serge E. Hallyn" Cc: linux-nilfs@vger.kernel.org, linux-kernel@vger.kernel.org, linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1377; i=jlayton@kernel.org; h=from:subject:message-id; bh=tZVxDFpeo5B1O27Dnnln/LLZR+hDKidvFRk+FhjVuRg=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBpsAQJKgg3bpI0BXAN8rJeGN8lqpoaWsEpZdBh5 uozuV+wgzSJAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCabAECQAKCRAADmhBGVaC FSKID/4yFNE+m3iMmXf6FmFqbDDj9Sz/SPjGkeJCAoC04DIxPRuZJR2rv9s8qqU6aGkiZKWnPIc bBTL3fB7nh52DsdPCdY7mtGNG2johRxnpSRRZmxbfsVmZWXFi9kI8cm4XX1UHE/6m6RA7xrHI8e I8+9pW3u2/cL2laQWnuCKR0TJKvPWi/5YRnz+vRxWpeAhb5Y1RuBcgn8Cx2eCBP3IZ4tnDcJ4Xw cMXCEaIZcJuePxE3p69F4q5aBKEg/C/inq3diRgNvJhynhTW3PLntwQJr/svzgWo7Zlg39kJ6Ti W8aQS5liieqGxNbGhk4cF39pMzKLyhzkkMtyvoqzwFaQYegwqWvkHiVzS4LaSLZ/pPnYyKOWu1D rC7dIMnAVoczOaBuW2VjeIMDG+2lHG2+tyOkdEH1ixenWvDJt0Ck/MFxBNbGHeLqmTbgxZFM89n /OeykLVQSme9Bv/Lu2yNHzT+zzeoeb7gb0jHammIgeOQH4VIPh+etnBKS4zDZM0U17JkhlWKIFb Wy0nMknbmBf5IE9cN6ca37fPDDO5RYFM7QcbT+xudgYCIeDMzXz/DDLq0hugBo9g25UV07nLdnD nu2MJFCwNHUzPetpp8feRGNu7tBq+B+FPDO+Ph/aB6rmTJ/2Z6NW3cNTIDvAmza4AOPhmD8Q9Ep zOHzZldsVPj8p9g== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Mimi pointed out that we didn't widen the inode number field in struct h_misc alongside the inode->i_ino widening. While we could make an equivalent change there, that would force EVM remeasurement on all 32-bit hosts. Instead, leave the field as an unsigned long. This should have no effect on 64-bit hosts, and allow things to continue working on 32-bit hosts in the cases where the i_ino fits in 32-bits. Add a comment explaining why it's being left as unsigned long. Cc: Mimi Zohar Signed-off-by: Jeff Layton --- security/integrity/evm/evm_crypto.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/e= vm_crypto.c index c0ca4eedb0fe5d5c30f45f515a4bc90248ec64ea..3445f4c2097f7e8af61de6299b7= 21fc4a1d8afb4 100644 --- a/security/integrity/evm/evm_crypto.c +++ b/security/integrity/evm/evm_crypto.c @@ -144,6 +144,12 @@ static void hmac_add_misc(struct shash_desc *desc, str= uct inode *inode, char type, char *digest) { struct h_misc { + /* + * Although inode->i_ino is now u64, this field remains + * unsigned long to allow existing hashes from 32-bit hosts + * to continue working when i_ino hasn't changed and fitsxi + * in a u32. + */ unsigned long ino; __u32 generation; uid_t uid; --=20 2.53.0