From: Al Viro <viro@zeniv.linux.org.uk>
To: syzbot <syzbot+169de184e9defe7fe709@syzkaller.appspotmail.com>
Cc: linux-kernel@vger.kernel.org, lizhi.xu@windriver.com
Subject: Re: [syzbot] Re: [syzbot] [nfs?] [net?] possible deadlock in rpc_close_pipes
Date: Thu, 3 Jul 2025 02:50:33 +0100 [thread overview]
Message-ID: <20250703015033.GH1880847@ZenIV> (raw)
In-Reply-To: <6865da26.a70a0220.2b31f5.0009.GAE@google.com>
On Wed, Jul 02, 2025 at 06:17:26PM -0700, syzbot wrote:
> For archival purposes, forwarding an incoming command email to
> linux-kernel@vger.kernel.org.
>
> ***
>
> Subject: Re: [syzbot] [nfs?] [net?] possible deadlock in rpc_close_pipes
> Author: lizhi.xu@windriver.com
>
> #syz test
>
> diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
> index 0bd1df2ebb47..ae5643e0bc43 100644
> --- a/net/sunrpc/rpc_pipe.c
> +++ b/net/sunrpc/rpc_pipe.c
> @@ -693,7 +693,7 @@ void
> rpc_unlink(struct rpc_pipe *pipe)
> {
> if (pipe->dentry) {
> - simple_recursive_removal(pipe->dentry, rpc_close_pipes);
> + locked_recursive_removal(pipe->dentry, rpc_close_pipes);
> pipe->dentry = NULL;
> }
> }
Excuse me, but... which caller of rpc_unlink() is holding any directories locked?
IOW, this patch is an LLM-grade nonsense. If it really *is* chatbot-generated,
that's a lovely demonstration of the reasons why generative AI have no business
sending patches of any kind.
Note that report clearly refers to rpc_close_pipes() as one of the locations
involved in a possible deadlock. The difference between simple_recursive_removal()
and locked_recursive_removal() is that the latter is to be called when the caller
is already holding ->i_rwsem on the victim's parent. *IF* that was the case,
the deadlock report would point to that caller vs. simple_recursive_removal().
rpc_close_pipes() is a *callback* passed to simple_recursive_removal(); if it
turned around and called rpc_unlink() we would have a serious problem indeed,
and it's very easy to see that nothing of that sort is happening.
The worst part is, that patch is likely to make lockdep STFU - by failing to
lock the parent. You really need to reason; "throw random shit at the bot
until the warning goes away" is an actively harmful strategy.
As for the warning, it is a false positive caused by lockdep annotations, as
the original report suggested. Replace inode_lock(inode) in rpc_close_pipes()
with inode_lock_nested(inode, I_MUTEX_CHILD) and try to reproduce that.
For syzbot maintainers - git blame is useful. I would really appreciate the
original report...
next prev parent reply other threads:[~2025-07-03 1:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-02 17:41 [syzbot] [nfs?] [net?] possible deadlock in rpc_close_pipes syzbot
2025-07-03 1:17 ` [syzbot] " syzbot
2025-07-03 1:50 ` Al Viro [this message]
2025-07-03 2:27 ` Al Viro
2025-07-03 1:40 ` Hillf Danton
2025-07-03 8:58 ` syzbot
2025-07-03 2:47 ` [syzbot] " syzbot
2025-07-03 2:59 ` Al Viro
2025-07-03 9:38 ` syzbot
2025-07-03 9:22 ` [syzbot] " syzbot
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=20250703015033.GH1880847@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=lizhi.xu@windriver.com \
--cc=syzbot+169de184e9defe7fe709@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.