From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752434Ab3KCDyX (ORCPT ); Sat, 2 Nov 2013 23:54:23 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:40254 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751683Ab3KCDyU (ORCPT ); Sat, 2 Nov 2013 23:54:20 -0400 Date: Sun, 3 Nov 2013 03:54:06 +0000 From: Al Viro To: "Eric W. Biederman" Cc: Miklos Szeredi , Andy Lutomirski , "Serge E. Hallyn" , Linux-Fsdevel , Kernel Mailing List , Rob Landley , Linus Torvalds , Matthias Schniedermeyer , Linux Containers Subject: Re: [REVIEW][PATCH 1/4] vfs: Don't allow overwriting mounts in the current mount namespace Message-ID: <20131103035406.GA8537@ZenIV.linux.org.uk> References: <20131008161135.GK14242@tucsk.piliscsaba.szeredi.hu> <87li23trll.fsf@tw-ebiederman.twitter.com> <87vc15mjuw.fsf@xmission.com> <87iox38fkv.fsf@xmission.com> <87d2nb8dxy.fsf@xmission.com> <87iowyxpci.fsf_-_@xmission.com> <87d2n6xpan.fsf_-_@xmission.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87d2n6xpan.fsf_-_@xmission.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Oct 15, 2013 at 01:16:48PM -0700, Eric W. Biederman wrote: > int vfs_rmdir(struct inode *dir, struct dentry *dentry) > { > int error = may_delete(dir, dentry, 1); > @@ -3622,6 +3636,9 @@ retry: > error = -ENOENT; > goto exit3; > } > + error = -EBUSY; > + if (covered(nd.path.mnt, dentry)) > + goto exit3; Ugh... And it's not racy because of...? IOW, what's to keep the return value of covered() from getting obsolete just as it's being calculated, let alone returned?