Thread (18 messages) 18 messages, 4 authors, 2021-04-12

Re: [PATCH v3 2/9] selftest/mremap_test: Avoid crash with static build

flat view

From: Kalesh Singh <hidden>
Date: 2021-04-12 18:38:44
Also in: linux-mm

On Mon, Mar 29, 2021 at 11:08 PM Aneesh Kumar K.V
[off-list ref] wrote:
With a large mmap map size, we can overlap with the text area and using
MAP_FIXED results in unmapping that area. Switch to MAP_FIXED_NOREPLACE
and handle the EEXIST error.

Signed-off-by: Aneesh Kumar K.V <redacted>
Reviewed-by: Kalesh Singh <redacted>
quoted hunk ↗ jump to hunk
---
 tools/testing/selftests/vm/mremap_test.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/vm/mremap_test.c b/tools/testing/selftests/vm/mremap_test.c
index c9a5461eb786..0624d1bd71b5 100644
--- a/tools/testing/selftests/vm/mremap_test.c
+++ b/tools/testing/selftests/vm/mremap_test.c
@@ -75,9 +75,10 @@ static void *get_source_mapping(struct config c)
 retry:
        addr += c.src_alignment;
        src_addr = mmap((void *) addr, c.region_size, PROT_READ | PROT_WRITE,
-                       MAP_FIXED | MAP_ANONYMOUS | MAP_SHARED, -1, 0);
+                       MAP_FIXED_NOREPLACE | MAP_ANONYMOUS | MAP_SHARED,
+                       -1, 0);
        if (src_addr == MAP_FAILED) {
-               if (errno == EPERM)
+               if (errno == EPERM || errno == EEXIST)
                        goto retry;
                goto error;
        }
--
2.30.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help