Skip to contentSkip to conversation

selftests-proc-make-proc-maps-race-work-with-read_implies_exec.patch removed from -mm tree

merged mm-stable Andrew Morton 1 participant 1 message Aug 25

lore
Share & tools
lore

Andrew Morton

author tree notice Applied
#0 lore raw

The quilt patch titled
Subject: selftests/proc: make proc-maps-race work with READ_IMPLIES_EXEC
has been removed from the -mm tree. Its filename was
selftests-proc-make-proc-maps-race-work-with-read_implies_exec.patch

This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

------------------------------------------------------
From: Karl Mehltretter <[email protected]>
Subject: selftests/proc: make proc-maps-race work with READ_IMPLIES_EXEC
Date: Sat, 8 Aug 2026 22:03:12 +0200

test_maps_tearing_from_split times out when READ_IMPLIES_EXEC is set. This happens by default on pre-ARMv6 CPUs, which lack no-execute support.

split_vma() re-maps the first page with mod_info->prot | PROT_EXEC to make it differ from its neighbours. With READ_IMPLIES_EXEC the original mapping is already executable, so no split occurs and the test hangs waiting for the modifier child.

Use PROT_NONE for the split mapping, which always differs from its readable neighbours.

Fixes beb69e817246 ("selftests/proc: add /proc/pid/maps tearing from vma split test")
Assisted-by Codex:gpt-5.6-terra
Cc Alexey Dobriyan <[email protected]>
Cc Jann Horn <[email protected]>
Cc Liam R. Howlett <[email protected]>
Cc Shuah Khan <[email protected]>
Cc Vlastimil Babka <[email protected]>

---

 tools/testing/selftests/proc/proc-maps-race.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
tools/testing/selftests/proc/proc-maps-race.c renamed from tools/testing/selftests/proc/proc-maps-race.c~selftests-proc-make-proc-maps-race-work-with-read_implies_exec +2 -1
@@ -490,7 +490,8 @@ static bool query_addr_at(int maps_fd, v
 
 static inline bool split_vma(FIXTURE_DATA(proc_maps_race) *self)
 {
-	return mmap(self->mod_info->addr, self->page_size, self->mod_info->prot | PROT_EXEC,
+	/* PROT_NONE differs from both readable neighbors. */
+	return mmap(self->mod_info->addr, self->page_size, PROT_NONE,
 		    MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0) != MAP_FAILED;
 }
 

_

Patches currently in -mm which might be from [email protected] are