All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@zeniv.linux.org.uk>
To: Amir Goldstein <amir73il@gmail.com>
Cc: syzbot <syzbot+9a5b0ced8b1bfb238b56@syzkaller.appspotmail.com>,
	gregkh@linuxfoundation.org, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com,
	tj@kernel.org, valesini@yandex-team.ru,
	Christoph Hellwig <hch@lst.de>,
	Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
	Miklos Szeredi <miklos@szeredi.hu>
Subject: Re: [syzbot] [kernfs?] possible deadlock in kernfs_fop_llseek
Date: Sat, 6 Apr 2024 05:09:23 +0100	[thread overview]
Message-ID: <20240406040923.GX538574@ZenIV> (raw)
In-Reply-To: <CAOQ4uximHfK78KFabJA3Hf4R0En6-GfJ3eF96Lzmc94PGuGayA@mail.gmail.com>

On Thu, Apr 04, 2024 at 12:33:40PM +0300, Amir Goldstein wrote:

> We do not (anymore) lock ovl inode in ovl_llseek(), see:
> b1f9d3858f72 ovl: use ovl_inode_lock in ovl_llseek()
> but ovl inode is held in operations (e.g. ovl_rename)
> which trigger copy up and call vfs_llseek() on the lower file.

OK, but why do we bother with ovl_inode_lock() there?
Note that serialization on struct file level is provided
on syscall level - see call of fdget_pos() in there.
IOW, which object are you protecting?  If it's struct file
passed your way, you should already have the serialization.
If it's underlying file on disk, that's up to vfs_llseek().
Exclusion with copyup by a different operation?

I'm not saying it's wrong - it's just that the thing is
tricky enough, so some clarification might be a good idea.

  parent reply	other threads:[~2024-04-06  4:09 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-03 18:23 [syzbot] [kernfs?] possible deadlock in kernfs_fop_llseek syzbot
2024-04-03 23:51 ` syzbot
2024-04-04  6:54   ` Amir Goldstein
2024-04-04  8:11     ` Al Viro
2024-04-04  8:21       ` Al Viro
2024-04-04  8:40         ` Al Viro
2024-04-04  9:33         ` Amir Goldstein
2024-04-04 22:01           ` Al Viro
2024-04-05 10:34             ` Amir Goldstein
2024-04-05  6:51           ` Christoph Hellwig
2024-04-05 11:19             ` Christian Brauner
2024-04-05 13:48               ` Christian Brauner
2024-04-05 14:52                 ` Christoph Hellwig
2024-04-05 15:41             ` Tejun Heo
2024-04-06  3:54             ` Al Viro
2024-04-05 10:47           ` Christian Brauner
2024-04-05 14:48             ` Amir Goldstein
2024-04-06  4:09           ` Al Viro [this message]
2024-04-06  5:25             ` Amir Goldstein
2024-04-05 15:08     ` Amir Goldstein
2024-04-05 15:37       ` syzbot
2024-04-05 16:23         ` Al Viro
2024-04-06  5:34           ` Amir Goldstein
2024-04-06  7:05             ` syzbot
2024-04-06  7:11               ` Al Viro
2024-04-06  8:23                 ` Hillf Danton
2024-04-07  0:48                   ` Al Viro
2024-04-06  8:57                 ` Amir Goldstein
2024-04-07  0:50                   ` Al Viro
2024-04-07 11:02                     ` Amir Goldstein
2024-04-09  9:18                     ` Christian Brauner
2024-04-04  0:42 ` Hillf Danton
2024-04-04  1:08   ` syzbot
2024-04-04  2:12 ` Hillf Danton
2024-04-04  2:39   ` syzbot
2024-04-05 23:00 ` Hillf Danton
2024-04-05 23:02   ` syzbot
2024-04-06  0:10     ` Al Viro
2024-04-05 23:02 ` Hillf Danton
2024-04-06  0:34   ` 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=20240406040923.GX538574@ZenIV \
    --to=viro@zeniv.linux.org.uk \
    --cc=amir73il@gmail.com \
    --cc=brauner@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=syzbot+9a5b0ced8b1bfb238b56@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=tj@kernel.org \
    --cc=valesini@yandex-team.ru \
    /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.