Re: [PATCH] umount: Do not allow unmounting rootfs.

From: Eric W. Biederman
Date: Tue Oct 07 2014 - 16:58:36 EST


Andrew Vagin <avagin@xxxxxxxxxxxxx> writes:

> On Tue, Oct 07, 2014 at 12:27:06PM -0700, Eric W. Biederman wrote:
>>
>> Which in practice is totally uninteresting. Only the global root user can
>> do it, and it is just a stupid thing to do.
>>
>> However that is no excuse to allow a silly way to oops the kernel.
>>
>> We can avoid this silly problem by setting MNT_LOCKED on the rootfs
>> mount point and thus avoid needing any special cases in the unmount
>> code.
>
> I had this idea too, but it doesn't work.
>
> MNT_LOCKED isn't inherited, if the privileged user creates a new mount
> namespace.
>
> So "unshame -m ./nsenter" reproduces the same BUG.

Which broken tree do you have where MNT_LOCKED is not inherited?

That case fails to reproduce the BUG for me.

The semantics of MNT_LOCKED are that you aren't allowed to see what is
beneath. So if you can get under there even by unsharing the mount
namespace it is an implementation bug in MNT_LOCKED.

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/