summaryrefslogtreecommitdiff
path: root/lib/tests
diff options
context:
space:
mode:
authorJake Freeland <jake@technologyfriends.net>2022-10-07 09:52:41 -0500
committerKamil Konieczny <kamil.konieczny@linux.intel.com>2022-10-10 11:03:21 +0200
commitea6d73b73b88de85d921cbc2680ae8979a2c3ce9 (patch)
tree0d9957fea406229f843aa2364077595fa928b213 /lib/tests
parentfb11941ecc99e64403b7bf09248455f074fcab56 (diff)
lib/tests/igt_fork.c: Fix error in mmap() flags
In subtest_leak(), mmap() is called with the flag PROT_WRITE, but no PROT_READ. Later in the function, the mapped memory is read using `children[i]`. In FreeBSD, the lack of PROT_READ causes SIGSEGV. Adding the PROT_READ flag to the mmap() call fixes this. Signed-off-by: Jake Freeland <jfree@freebsd.org> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Diffstat (limited to 'lib/tests')
-rw-r--r--lib/tests/igt_fork.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/tests/igt_fork.c b/lib/tests/igt_fork.c
index d19d09452..d883aba4f 100644
--- a/lib/tests/igt_fork.c
+++ b/lib/tests/igt_fork.c
@@ -109,7 +109,7 @@ __noreturn static void igt_fork_timeout_leak(void)
__noreturn static void subtest_leak(void)
{
pid_t *children =
- mmap(0, 4096, PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+ mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
const int num_children = 4096 / sizeof(*children);
igt_subtest_init(fake_argc, fake_argv);