From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Date: Fri, 26 Jul 2019 01:00:32 +0100 Subject: [LTP] 56cbb429d9: ltp.fs_fill.fail In-Reply-To: <20190725180428.GH1131@ZenIV.linux.org.uk> References: <20190725110944.GA22106@shao2-debian> <20190725132617.GA23135@rei.lan> <20190725180428.GH1131@ZenIV.linux.org.uk> Message-ID: <20190726000032.GK1131@ZenIV.linux.org.uk> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ltp@lists.linux.it On Thu, Jul 25, 2019 at 07:04:28PM +0100, Al Viro wrote: > On Thu, Jul 25, 2019 at 09:32:13AM -0700, Linus Torvalds wrote: > > On Thu, Jul 25, 2019 at 6:26 AM Cyril Hrubis wrote: > > > > > > This looks like mkfs.vfat got EBUSY after the loop device was > > > succesfully umounted. > > > > Hmm. Smells like the RCU-delaying got triggered again. > > > > We have that "synchronize_rcu_expedited()" in namespace_unlock(), > > which is so that everything should be done by the time we return to > > user space. > > > > Al, maybe that RCU synchronization should be after the mntput()s? > > There are several interesting issues in there, but synchronize_rcu() > should be between zeroing ->mnt_ns and dropping the final refs. > I'm digging through that crap right now; at least one bug is dealt > with by #fixes, but there's more, unfortunately. No, it's not synchronize_rcu(). It's a bug dealt with in vfs.git #fixes, triggering the struct mount leak in mount_subtree(), which is used by btrfs. Immediately prior to vfat in their list... (oh, and AFAICS "more" in the above had been a mismerge in -next, so it might really be all there is to it) Folks, see if vfs.git #fixes solves that one.