android_kernel_samsung_msm8976/tools/testing/selftests
Eric W. Biederman bbeed681a5 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>
2014-09-17 09:04:00 -07:00
..
breakpoints breakpoint selftests: print failure status instead of cause make error 2012-12-17 17:15:27 -08:00
cpu-hotplug cpu-hotplug selftests: print failure status instead of cause make error 2012-12-17 17:15:27 -08:00
efivarfs efivars: efivarfs_valid_name() should handle pstore syntax 2013-03-06 14:46:04 +00:00
ipc selftests: IPC message queue copy feature test 2013-01-04 16:11:45 -08:00
kcmp tools/testing/selftests/kcmp/kcmp_test.c: print reason for failure in kcmp_test 2012-12-17 17:15:27 -08:00
memory-hotplug mem-hotplug selftests: print failure status instead of cause make error 2012-12-17 17:15:27 -08:00
mount mnt: Add tests for unprivileged remount cases that have found to be faulty 2014-09-17 09:04:00 -07:00
mqueue mqueue selftests: print failure status instead of cause make error 2012-12-17 17:15:26 -08:00
net selftests: psock_tpacket: fix status check 2013-04-29 12:26:53 -04:00
ptrace selftest: add a test case for PTRACE_PEEKSIGINFO 2013-04-30 17:04:05 -07:00
vm vm selftests: print failure status instead of cause make error 2012-12-17 17:15:26 -08:00
Makefile mnt: Add tests for unprivileged remount cases that have found to be faulty 2014-09-17 09:04:00 -07:00
README.txt selftests: add a simple doc 2013-02-27 19:10:24 -08:00

Linux Kernel Selftests

The kernel contains a set of "self tests" under the tools/testing/selftests/
directory. These are intended to be small unit tests to exercise individual
code paths in the kernel.

Running the selftests
=====================

To build the tests:

  $ make -C tools/testing/selftests


To run the tests:

  $ make -C tools/testing/selftests run_tests

- note that some tests will require root privileges.


To run only tests targetted for a single subsystem:

  $  make -C tools/testing/selftests TARGETS=cpu-hotplug run_tests

See the top-level tools/testing/selftests/Makefile for the list of all possible
targets.


Contributing new tests
======================

In general, the rules for for selftests are

 * Do as much as you can if you're not root;

 * Don't take too long;

 * Don't break the build on any architecture, and

 * Don't cause the top-level "make run_tests" to fail if your feature is
   unconfigured.