From: "Darrick J. Wong" <djwong@kernel.org>
To: Long Li <leo.lilong@huawei.com>
Cc: chandanbabu@kernel.org, linux-xfs@vger.kernel.org,
david@fromorbit.com, yi.zhang@huawei.com, houtao1@huawei.com,
yangerkun@huawei.com
Subject: Re: [PATCH] xfs: eliminate lockdep false positives in xfs_attr_shortform_list
Date: Mon, 24 Jun 2024 09:03:42 -0700 [thread overview]
Message-ID: <20240624160342.GP3058325@frogsfrogsfrogs> (raw)
In-Reply-To: <20240622082631.2661148-1-leo.lilong@huawei.com>
On Sat, Jun 22, 2024 at 04:26:31PM +0800, Long Li wrote:
> xfs_attr_shortform_list() only called from a non-transactional context, it
> hold ilock before alloc memory and maybe trapped in memory reclaim. Since
> commit 204fae32d5f7("xfs: clean up remaining GFP_NOFS users") removed
> GFP_NOFS flag, lockdep warning will be report as [1]. Eliminate lockdep
> false positives by use __GFP_NOLOCKDEP to alloc memory
> in xfs_attr_shortform_list().
>
> [1] https://lore.kernel.org/linux-xfs/000000000000e33add0616358204@google.com/
> Reported-by: syzbot+4248e91deb3db78358a2@syzkaller.appspotmail.com
> Signed-off-by: Long Li <leo.lilong@huawei.com>
> ---
> fs/xfs/xfs_attr_list.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_attr_list.c b/fs/xfs/xfs_attr_list.c
> index 5c947e5ce8b8..8cd6088e6190 100644
> --- a/fs/xfs/xfs_attr_list.c
> +++ b/fs/xfs/xfs_attr_list.c
> @@ -114,7 +114,8 @@ xfs_attr_shortform_list(
> * It didn't all fit, so we have to sort everything on hashval.
> */
> sbsize = sf->count * sizeof(*sbuf);
> - sbp = sbuf = kmalloc(sbsize, GFP_KERNEL | __GFP_NOFAIL);
> + sbp = sbuf = kmalloc(sbsize,
> + GFP_KERNEL | __GFP_NOLOCKDEP | __GFP_NOFAIL);
Why wouldn't we memalloc_nofs_save any time we take an ILOCK when we're
not in transaction context? Surely you'd want to NOFS /any/ allocation
when the ILOCK is held, right?
--D
>
> /*
> * Scan the attribute list for the rest of the entries, storing
> --
> 2.39.2
>
>
next prev parent reply other threads:[~2024-06-24 16:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-22 8:26 [PATCH] xfs: eliminate lockdep false positives in xfs_attr_shortform_list Long Li
2024-06-24 16:03 ` Darrick J. Wong [this message]
2024-06-25 14:10 ` Long Li
2024-07-08 15:40 ` Eric Sandeen
2024-07-08 19:00 ` Darrick J. Wong
2024-07-08 22:38 ` Dave Chinner
2024-11-21 4:00 ` Dave Chinner
2024-11-25 11:57 ` Carlos Maiolino
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=20240624160342.GP3058325@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=chandanbabu@kernel.org \
--cc=david@fromorbit.com \
--cc=houtao1@huawei.com \
--cc=leo.lilong@huawei.com \
--cc=linux-xfs@vger.kernel.org \
--cc=yangerkun@huawei.com \
--cc=yi.zhang@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox