From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:33532 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756526AbcIMT7S (ORCPT ); Tue, 13 Sep 2016 15:59:18 -0400 Date: Tue, 13 Sep 2016 21:59:23 +0200 From: Greg Kroah-Hartman To: Mikhail Afanasyev Cc: Miklos Szeredi , Stefan Bader , stable@vger.kernel.org Subject: Re: ovl: renames in overlayfs over tmpfs returns ESTALE in 4.4 Message-ID: <20160913195923.GA14067@kroah.com> References: <6ac370bf-3537-0c3e-97d5-f67ece5c7bf2@tri.global> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6ac370bf-3537-0c3e-97d5-f67ece5c7bf2@tri.global> Sender: stable-owner@vger.kernel.org List-ID: On Tue, Sep 13, 2016 at 01:48:31PM -0400, Mikhail Afanasyev wrote: > Hello, > > I believe the 4.4.y kernel has broken overlayfs: removing the file which is > present in lower layer, then renaming a file from upper layer to have the > same name fails with ESTALE. This pattern is used quite often, for example > by 'depmod' and 'apt-get update'. The bug only seems to happen when some of > the underlying directories are on tmpfs. > > The test script (below) works fine on Ubuntu kernel 4.4.0-34-generic or > earlier, and it fails in Ubuntu kernel 4.4.0-36-generic. This corresponds to > Linux 4.4.16. Ubuntu adds a few hundred other patches to their kernel as well, can you try a "real" 4.4-stable release please? > The error is: > mv: cannot move 'ovf/file.new' to 'ovf/file': Stale file handle > > While I have not performed the full bisect, there were only 3 patches > touching 'fs/overlayfs' which went into the tree between the two revisions: > https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/log/?id=b275624b3b4303d21eefd78c5b3bf04c34267e4e > > ovl: verify upper dentry before unlink and rename > https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/commit/?id=a4452ab01db4780937d4e19861d3b841c373c3b5 > > ovl: verify upper dentry in ovl_remove_and_whiteout() > https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/commit/?id=90089541cf2982cff69724c34f7ae9a088df9c2f > > ovl: Copy up underlying inode's ->i_mode to overlay inode > https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/commit/?id=8326f3ef42b56d97d1060adff6d4ab35818e3b9a > > Of them, the first two add a return with ESTALE error and would be the prime > suspects. > I also understand that 4.4.16 is a somewhat old kernel, but I believe the > bug may still be present in the latest linux-4.4.y -- there were no changes > to the relevant file (fs/overlayfs/dir.c) since these patches. In the 4.4 kernel to be released tomorrow, there are a number of ovfs patches, can you test that out? thanks, greg k-h