FAILED: patch "[PATCH] xfs: reject absurdly large xattr value lengths in" failed to apply to 6.1-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x fd012955641881169a9f01a00f656f6ca73842ec
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026110432-cortex-papyrus-00b5@gregkh' --subject-prefix 'PATCH 6.1.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From fd012955641881169a9f01a00f656f6ca73842ec Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <[email protected]>
Date: Mon, 12 Oct 2026 08:22:41 -0700
Subject: [PATCH] xfs: reject absurdly large xattr value lengths in
xchk_xattr_actor
LOLLM suggests that we shouldn't try to allocate absurdly large buffers for xattr value checks because that will push reclaim very hard, never succeed, and is pointless because nobody can create xattrs that large. Since the xattr repair code ignores values larger than XATTR_SIZE_MAX, we can flag the corruption and return early.
fs/xfs/scrub/attr.c +6 -0
@@ -216,6 +216,12 @@ xchk_xattr_actor(return -ECANCELED ; } +/* Don't even try to handle a bizarrely large xattr. */ +if (valuelen >XATTR_SIZE_MAX ) { +xchk_fblock_set_corrupt (sc,XFS_ATTR_FORK , args.blkno); +return -ECANCELED ; + } +/* * Try to allocate enough memory to extract the attr value. If that * doesn't work, return -EDEADLOCK as a signal to try again with a
fs/xfs/scrub/parent_repair.c +4 -0
@@ -910,6 +910,10 @@ xrep_parent_fetch_xattr_remote( };int error; +/* Don't even try to handle a bizarrely large xattr. */ +if (valuelen >XATTR_SIZE_MAX ) +return -EFSCORRUPTED ; +/* * If we need a larger value buffer, try to allocate one. If that * fails, return with -EDEADLOCK to try harder.
Sasha Levin
maintainerPATCH 1/1 xfs: reject absurdly large xattr value lengths in xchk_xattr_actor
From: "Darrick J. Wong" <[email protected]>
[ Upstream commit fd012955641881169a9f01a00f656f6ca73842ec ]
LOLLM suggests that we shouldn't try to allocate absurdly large buffers for xattr value checks because that will push reclaim very hard, never succeed, and is pointless because nobody can create xattrs that large. Since the xattr repair code ignores values larger than XATTR_SIZE_MAX, we can flag the corruption and return early.
--- fs/xfs/scrub/attr.c | 6 ++++++ 1 file changed, 6 insertions(+)
fs/xfs/scrub/attr.c +6 -0
@@ -133,6 +133,12 @@ xchk_xattr_listent(return ; } +/* Don't even try to handle a bizarrely large xattr. */ +if (valuelen >XATTR_SIZE_MAX ) { +xchk_fblock_set_corrupt (sx->sc,XFS_ATTR_FORK , args.blkno); + goto fail_xref; + } +/* * Try to allocate enough memory to extrat the attr value. If that * doesn't work, we overload the seen_enough variable to convey
Signature · 1 line
2.53.0