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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Sep 2014 16:19:22 +0000 (09:19 -0700)
commit93927a247ca105482a9dbaf58a739c5db2546990
treed51f8a6afe4ffe26083360364af6ab8ce674fa57
parent74006d6e96ec095bd518ba457c4b369d6ef549ba
mnt: Add tests for unprivileged remount cases that have found to be faulty

commit db181ce011e3c033328608299cd6fac06ea50130 upstream.

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.

Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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]