From: Yuto Ohnuki <ytohnuki@amazon.com>
To: <djwong@kernel.org>
Cc: <bfoster@redhat.com>, <cem@kernel.org>, <darrick.wong@oracle.com>,
<dchinner@redhat.com>, <linux-kernel@vger.kernel.org>,
<linux-xfs@vger.kernel.org>, <stable@vger.kernel.org>,
<syzbot+652af2b3c5569c4ab63c@syzkaller.appspotmail.com>,
<ytohnuki@amazon.com>
Subject: Re: [PATCH v3 3/4] xfs: avoid dereferencing log items after push callbacks
Date: Tue, 10 Mar 2026 17:51:00 +0000 [thread overview]
Message-ID: <20260310175059.78341-2-ytohnuki@amazon.com> (raw)
In-Reply-To: <20260309162710.GC6033@frogsfrogsfrogs>
> How difficult would it be to add a refcount to xfs_log_item so that any
> other code walking through the AIL's log item list can't accidentally
> suffer from this UAF? I keep seeing periodic log item UAF bugfixes on
> the list, which (to me anyway) suggests we ought to think about a
> struct(ural) fix to this problem.
>
> I /think/ the answer to that is "sort of nasty" because of things like
> xfs_dquot embedding its own log item. The other log item types might
> not be so bad because at least they're allocated separately. However,
> refcount_t accesses also aren't free.
Agreed that a structural fix would be the right long-term approach.
As you noted, the dquot embedding makes it non-trivial. I'd like to
keep this series focused on the immediate syzbot fix and explore a
refcount-based approach as a separate effort.
> This is true after the xfsaild_push_item call, correct? If so then I
> think the comment for the call needs updating too:
>
> /*
> * Note that iop_push may unlock and reacquire the AIL lock. We
> * rely on the AIL cursor implementation to be able to deal with
> * the dropped lock.
> *
> * The log item may have been freed by the push, so it must not
> * be accessed or dereferenced below this line.
> */
> lock_result = xfsaild_push_item(ailp, lip);
>
> Otherwise this looks ok to me.
>
> --D
Thank you. In v4, I have added the comments you suggested.
Yuto
Amazon Web Services EMEA SARL, 38 avenue John F. Kennedy, L-1855 Luxembourg, R.C.S. Luxembourg B186284
Amazon Web Services EMEA SARL, Irish Branch, One Burlington Plaza, Burlington Road, Dublin 4, Ireland, branch registration number 908705
next prev parent reply other threads:[~2026-03-10 17:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-08 18:28 [PATCH v3 0/4] xfs: fix AIL push use-after-free during shutdown Yuto Ohnuki
2026-03-08 18:28 ` [PATCH v3 1/4] xfs: stop reclaim before pushing AIL during unmount Yuto Ohnuki
2026-03-09 16:02 ` Darrick J. Wong
2026-03-10 17:33 ` Yuto Ohnuki
2026-03-08 18:28 ` [PATCH v3 2/4] xfs: refactor xfsaild_push loop into helper Yuto Ohnuki
2026-03-09 16:14 ` Darrick J. Wong
2026-03-10 17:38 ` Yuto Ohnuki
2026-03-10 5:26 ` Dave Chinner
2026-03-10 17:46 ` Yuto Ohnuki
2026-03-08 18:28 ` [PATCH v3 3/4] xfs: avoid dereferencing log items after push callbacks Yuto Ohnuki
2026-03-09 16:27 ` Darrick J. Wong
2026-03-10 5:25 ` Dave Chinner
2026-03-10 17:51 ` Yuto Ohnuki [this message]
2026-03-10 5:27 ` Dave Chinner
2026-03-10 17:56 ` Yuto Ohnuki
2026-03-08 18:28 ` [PATCH v3 4/4] xfs: save ailp before dropping the AIL lock in " Yuto Ohnuki
2026-03-09 16:28 ` Darrick J. Wong
2026-03-10 5:27 ` Dave Chinner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260310175059.78341-2-ytohnuki@amazon.com \
--to=ytohnuki@amazon.com \
--cc=bfoster@redhat.com \
--cc=cem@kernel.org \
--cc=darrick.wong@oracle.com \
--cc=dchinner@redhat.com \
--cc=djwong@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=syzbot+652af2b3c5569c4ab63c@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.