Commit 05790fd7 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Shuah Khan

selftests: pidfd: skip test if unshare fails with EPERM

Similar to how ENOSYS causes a skip if pidfd_send_signal is not present,
we can do the same for unshare if it fails with EPERM.  This way, running
the test without privileges causes four tests to skip but no early bail out.
Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent bb91c0ca
...@@ -162,15 +162,26 @@ static int test_pidfd_send_signal_recycled_pid_fail(void) ...@@ -162,15 +162,26 @@ static int test_pidfd_send_signal_recycled_pid_fail(void)
} }
ret = unshare(CLONE_NEWPID); ret = unshare(CLONE_NEWPID);
if (ret < 0) if (ret < 0) {
if (errno == EPERM) {
ksft_test_result_skip("%s test: Unsharing pid namespace not permitted\n",
test_name);
return 0;
}
ksft_exit_fail_msg("%s test: Failed to unshare pid namespace\n", ksft_exit_fail_msg("%s test: Failed to unshare pid namespace\n",
test_name); test_name);
}
ret = unshare(CLONE_NEWNS); ret = unshare(CLONE_NEWNS);
if (ret < 0) if (ret < 0) {
ksft_exit_fail_msg( if (errno == EPERM) {
"%s test: Failed to unshare mount namespace\n", ksft_test_result_skip("%s test: Unsharing mount namespace not permitted\n",
test_name); test_name);
return 0;
}
ksft_exit_fail_msg("%s test: Failed to unshare mount namespace\n",
test_name);
}
ret = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0); ret = mount(NULL, "/", NULL, MS_REC | MS_PRIVATE, 0);
if (ret < 0) if (ret < 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment