Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1e1e5ce7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'linux-kselftest-4.6-rc3' of...

Merge tag 'linux-kselftest-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kselftest fixes from Shuah Khan:
 "This update for Kselftest contains seccomp fixes"

* tag 'linux-kselftest-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  selftest/seccomp: Fix the seccomp(2) signature
  selftest/seccomp: Fix the flag name SECCOMP_FILTER_FLAG_TSYNC
parents c3b1feb0 505ce68c
Loading
Loading
Loading
Loading
+11 −11
Original line number Original line Diff line number Diff line
@@ -1497,15 +1497,15 @@ TEST_F(TRACE_syscall, syscall_dropped)
#define SECCOMP_SET_MODE_FILTER 1
#define SECCOMP_SET_MODE_FILTER 1
#endif
#endif


#ifndef SECCOMP_FLAG_FILTER_TSYNC
#ifndef SECCOMP_FILTER_FLAG_TSYNC
#define SECCOMP_FLAG_FILTER_TSYNC 1
#define SECCOMP_FILTER_FLAG_TSYNC 1
#endif
#endif


#ifndef seccomp
#ifndef seccomp
int seccomp(unsigned int op, unsigned int flags, struct sock_fprog *filter)
int seccomp(unsigned int op, unsigned int flags, void *args)
{
{
	errno = 0;
	errno = 0;
	return syscall(__NR_seccomp, op, flags, filter);
	return syscall(__NR_seccomp, op, flags, args);
}
}
#endif
#endif


@@ -1613,7 +1613,7 @@ TEST(TSYNC_first)
		TH_LOG("Kernel does not support PR_SET_NO_NEW_PRIVS!");
		TH_LOG("Kernel does not support PR_SET_NO_NEW_PRIVS!");
	}
	}


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &prog);
		      &prog);
	ASSERT_NE(ENOSYS, errno) {
	ASSERT_NE(ENOSYS, errno) {
		TH_LOG("Kernel does not support seccomp syscall!");
		TH_LOG("Kernel does not support seccomp syscall!");
@@ -1831,7 +1831,7 @@ TEST_F(TSYNC, two_siblings_with_ancestor)
		self->sibling_count++;
		self->sibling_count++;
	}
	}


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_EQ(0, ret) {
	ASSERT_EQ(0, ret) {
		TH_LOG("Could install filter on all threads!");
		TH_LOG("Could install filter on all threads!");
@@ -1892,7 +1892,7 @@ TEST_F(TSYNC, two_siblings_with_no_filter)
		TH_LOG("Kernel does not support PR_SET_NO_NEW_PRIVS!");
		TH_LOG("Kernel does not support PR_SET_NO_NEW_PRIVS!");
	}
	}


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_NE(ENOSYS, errno) {
	ASSERT_NE(ENOSYS, errno) {
		TH_LOG("Kernel does not support seccomp syscall!");
		TH_LOG("Kernel does not support seccomp syscall!");
@@ -1940,7 +1940,7 @@ TEST_F(TSYNC, two_siblings_with_one_divergence)
		self->sibling_count++;
		self->sibling_count++;
	}
	}


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_EQ(self->sibling[0].system_tid, ret) {
	ASSERT_EQ(self->sibling[0].system_tid, ret) {
		TH_LOG("Did not fail on diverged sibling.");
		TH_LOG("Did not fail on diverged sibling.");
@@ -1992,7 +1992,7 @@ TEST_F(TSYNC, two_siblings_not_under_filter)
		TH_LOG("Kernel does not support SECCOMP_SET_MODE_FILTER!");
		TH_LOG("Kernel does not support SECCOMP_SET_MODE_FILTER!");
	}
	}


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_EQ(ret, self->sibling[0].system_tid) {
	ASSERT_EQ(ret, self->sibling[0].system_tid) {
		TH_LOG("Did not fail on diverged sibling.");
		TH_LOG("Did not fail on diverged sibling.");
@@ -2021,7 +2021,7 @@ TEST_F(TSYNC, two_siblings_not_under_filter)
	/* Switch to the remaining sibling */
	/* Switch to the remaining sibling */
	sib = !sib;
	sib = !sib;


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_EQ(0, ret) {
	ASSERT_EQ(0, ret) {
		TH_LOG("Expected the remaining sibling to sync");
		TH_LOG("Expected the remaining sibling to sync");
@@ -2044,7 +2044,7 @@ TEST_F(TSYNC, two_siblings_not_under_filter)
	while (!kill(self->sibling[sib].system_tid, 0))
	while (!kill(self->sibling[sib].system_tid, 0))
		sleep(0.1);
		sleep(0.1);


	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FLAG_FILTER_TSYNC,
	ret = seccomp(SECCOMP_SET_MODE_FILTER, SECCOMP_FILTER_FLAG_TSYNC,
		      &self->apply_prog);
		      &self->apply_prog);
	ASSERT_EQ(0, ret);  /* just us chickens */
	ASSERT_EQ(0, ret);  /* just us chickens */
}
}