From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: ebiederm@xmission.com (Eric W. Biederman) To: Seth Forshee Cc: linux-fsdevel@vger.kernel.org, "Serge E. Hallyn" , linux-kernel@vger.kernel.org References: <1457536687-32794-1-git-send-email-seth.forshee@canonical.com> Date: Wed, 09 Mar 2016 14:57:47 -0600 In-Reply-To: <1457536687-32794-1-git-send-email-seth.forshee@canonical.com> (Seth Forshee's message of "Wed, 9 Mar 2016 09:18:05 -0600") Message-ID: <87oaanz7w4.fsf@x220.int.ebiederm.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [PATCH 0/2] Fix debugfs bind mount regression Sender: linux-kernel-owner@vger.kernel.org List-ID: Seth Forshee writes: > Some full-OS container software bind mounts debugfs into containers to > satisfy the assumptions of older userspaces which expect to be able to > mount debugfs. This regressed in 4.1 due to the addition of tracefs, > which gets automounted in the tracing subdirectory of debugfs. In a > cloned mount namespace the bind mount now fails because the tracefs > mount is a locked child of the debugfs mount. > > For new mounts we already make an exception to the "locked child mount" > rule. Directories in psuedo filesystems created for the sole purpose of > being mountpoints are created as permanently empty directories which can > never contain any entries, therefore the kernel can know than any mounts > on these directories are not for security purposes. These mounts are > then excluded from locked mount tests in some circumstances. > > The same logic clearly applies to directories created in > debugfs_create_automount(). The following patches update this function > to create permanently empty directories for mountpoints and adds an > exclusion to the tests for bind mounts to exclude child mounts on > permanently empty directories. So I don't know that this approach is bad. However in reading through your patch descriptions I do not see any consideration of using "mount --rbind" instead of "mount --bind". AKA adding the MS_REC flag to your bind mount. I would think simply using MS_REC would solve this problem, without needing any additional kernel support. Am I missing something? Eric