Commit 2934565f authored by Ilya Leoshkevich's avatar Ilya Leoshkevich Committed by Alexei Starovoitov
Browse files

selftests/bpf: Check stack_mprotect() return value



If stack_mprotect() succeeds, errno is not changed. This can produce
misleading error messages, that show stale errno.

Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
Link: https://lore.kernel.org/r/20230128000650.1516334-13-iii@linux.ibm.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 06cea99e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -472,6 +472,7 @@ static void lsm_subtest(struct test_bpf_cookie *skel)
	int prog_fd;
	int lsm_fd = -1;
	LIBBPF_OPTS(bpf_link_create_opts, link_opts);
	int err;

	skel->bss->lsm_res = 0;

@@ -482,8 +483,9 @@ static void lsm_subtest(struct test_bpf_cookie *skel)
	if (!ASSERT_GE(lsm_fd, 0, "lsm.link_create"))
		goto cleanup;

	stack_mprotect();
	if (!ASSERT_EQ(errno, EPERM, "stack_mprotect"))
	err = stack_mprotect();
	if (!ASSERT_EQ(err, -1, "stack_mprotect") ||
	    !ASSERT_EQ(errno, EPERM, "stack_mprotect"))
		goto cleanup;

	usleep(1);
+2 −1
Original line number Diff line number Diff line
@@ -75,7 +75,8 @@ static int test_lsm(struct lsm *skel)
	skel->bss->monitored_pid = getpid();

	err = stack_mprotect();
	if (!ASSERT_EQ(errno, EPERM, "stack_mprotect"))
	if (!ASSERT_EQ(err, -1, "stack_mprotect") ||
	    !ASSERT_EQ(errno, EPERM, "stack_mprotect"))
		return err;

	ASSERT_EQ(skel->bss->mprotect_count, 1, "mprotect_count");