]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
xfs: don't wrap around quota ids in dqiterate
authorDarrick J. Wong <djwong@kernel.org>
Tue, 14 Jul 2026 06:04:55 +0000 (23:04 -0700)
committerCarlos Maiolino <cem@kernel.org>
Tue, 14 Jul 2026 09:01:47 +0000 (11:01 +0200)
commitd766e4e5e85d829629c3ba503802fe1303d7b591
tree1f129e505bac7788a2580c920f54bc6c38cd3db9
parent60a1dde9d28948a88ed5a06cf0b6179b1d487f85
xfs: don't wrap around quota ids in dqiterate

LOLLM noticed that q_id is an unsigned 32-bit variable.  If it happens
to be set to XFS_DQ_ID_MAX due to a filesystem that actually has a dquot
for ID_MAX, then this addition will truncate to zero and the iteration
starts over.  Fix this by casting to u64.

Cc: stable@vger.kernel.org # v6.8
Fixes: 21d7500929c8a0 ("xfs: improve dquot iteration for scrub")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/scrub/dqiterate.c