[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJfpegsDfJMsT8OJVYuUFpNz94ex0fm5Z-e2Gp=cUgXsb_L-Jg@mail.gmail.com>
Date: Thu, 18 Oct 2018 10:41:17 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: Amir Goldstein <amir73il@...il.com>
Cc: syzbot+3ef5c0d1a5cb0b21e6be@...kaller.appspotmail.com,
linux-kernel <linux-kernel@...r.kernel.org>,
overlayfs <linux-unionfs@...r.kernel.org>,
syzkaller-bugs@...glegroups.com
Subject: Re: possible deadlock in ovl_copy_up_start
On Thu, Oct 18, 2018 at 8:26 AM, Amir Goldstein <amir73il@...il.com> wrote:
> Can someone tell me what the expected behavior of a nested
> mutex_lock_interruptible(&lock); ?
>
> Why does the reproducer only warn and not really deadlock.
> It is because that is considered the lesser evil?
> and obviously, then inner unlock releases the outer lock?
No, it's not the same lock, just the same lock class (first one is
OVL_I(d_inode(old))->lock, the other is
OVL_I(d_inode(new->d_parent)))->lock).
So we could possibly get away with annotating with
mutex_lock_nested(). Is this the only place that ovl_i_lock is
nested?
Thanks,
Miklos
Powered by blists - more mailing lists