mnt: Add tests for unprivileged remount cases that have found to be faulty
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 29 Jul 2014 22:50:44 +0000 (15:50 -0700)
committerEric W. Biederman <ebiederm@xmission.com>
Fri, 1 Aug 2014 00:13:15 +0000 (17:13 -0700)
commitdb181ce011e3c033328608299cd6fac06ea50130
tree45122ca259c9310f7082e9920713a073fe127ddb
parentffbc6f0ead47fa5a1dc9642b0331cb75c20a640e
mnt: Add tests for unprivileged remount cases that have found to be faulty

Kenton Varda <kenton@sandstorm.io> discovered that by remounting a
read-only bind mount read-only in a user namespace the
MNT_LOCK_READONLY bit would be cleared, allowing an unprivileged user
to the remount a read-only mount read-write.

Upon review of the code in remount it was discovered that the code allowed
nosuid, noexec, and nodev to be cleared.  It was also discovered that
the code was allowing the per mount atime flags to be changed.

The first naive patch to fix these issues contained the flaw that using
default atime settings when remounting a filesystem could be disallowed.

To avoid this problems in the future add tests to ensure unprivileged
remounts are succeeding and failing at the appropriate times.

Cc: stable@vger.kernel.org
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
tools/testing/selftests/Makefile
tools/testing/selftests/mount/Makefile [new file with mode: 0644]
tools/testing/selftests/mount/unprivileged-remount-test.c [new file with mode: 0644]