From: Petr Vorel <pvorel@suse.cz>
To: Andrea Cervesato <andrea.cervesato@suse.com>
Cc: Linux Test Project <ltp@lists.linux.it>
Subject: Re: [LTP] [PATCH 3/3] mmap24: add test for MAP_32BIT address limit
Date: Fri, 11 Sep 2026 18:03:26 +0200 [thread overview]
Message-ID: <20260911160326.GA1534936@pevik> (raw)
In-Reply-To: <6aa41b43.63ed6291.2b47ca.90d9@mx.google.com>
Hi Andrea,
...
> > BTW I was wondering if I can get this failing when running on VM with really
> > small RAM, but even with 249 MB I get get mapped 928 MB (or 960 MB when I run
> > with -i):
> > mmap24.c:81: TPASS: Mapped 928 MB across 29 chunks within 2GB before ENOMEM
> > What am I missing?
> Thanks for checking, I didn't verify 32-bits indeed..
> I found the reason and it's really tricky. In arch/x86/kernel/sys_x86_64.c,
> MAP_32BIT forces the mapping range to:
> begin = 0x40000000 (1 GB)
> end = 0x80000000 (2 GB)
+1. That might explain the different value on mmap23.c as well.
> Which is 1GB max.
> And probably the reason why you can "map" 928 MB in a short memory system
> is becasuee you are actually seeing virtual memory allocation. The test
> is touching just 2 pages instead of all:
> ((char *)addr)[0] = 'a';
> ((char *)addr)[CHUNK_SZ - 1] = 'z';
> can you try to apply a memset() for the whole allocation and see what
> happens? The only problem if I use this method, tho, is that memory might
> be swapped out.
If you mean something like code below, the result is the same (+ of course big
slowdown).
+++ testcases/kernel/syscalls/mmap/mmap24.c
@@ -67,8 +67,9 @@ static void run(void)
return;
}
- ((char *)addr)[0] = 'a';
- ((char *)addr)[CHUNK_SZ - 1] = 'z';
+ for (size_t j = 0; j < CHUNK_SZ; j++) {
+ ((char *)addr)[j] = 'a';
+ }
addrs[num_chunks++] = addr;
}
> I will send a new version with PROT_NONE that is allocating virtual
> pages and changing a bit the logic of the final check.
+1
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
prev parent reply other threads:[~2026-09-11 16:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-28 15:36 [LTP] [PATCH 0/3] mmap testing suite to cover MAP_32BIT Andrea Cervesato
2026-08-28 15:36 ` [LTP] [PATCH 1/3] lapi/mmap: add MAP_32BIT fallback Andrea Cervesato
2026-08-28 21:10 ` [LTP] " linuxtestproject.agent
2026-08-31 8:02 ` Andrea Cervesato via ltp
2026-09-11 13:20 ` [LTP] [PATCH 1/3] " Petr Vorel
2026-09-11 13:26 ` Petr Vorel
2026-08-28 15:36 ` [LTP] [PATCH 2/3] mmap23: add test for MAP_32BIT oversized mapping Andrea Cervesato
2026-09-11 14:08 ` Petr Vorel
2026-08-28 15:36 ` [LTP] [PATCH 3/3] mmap24: add test for MAP_32BIT address limit Andrea Cervesato
2026-09-10 14:38 ` Cyril Hrubis
2026-09-11 13:59 ` Petr Vorel
2026-09-11 15:16 ` Andrea Cervesato via ltp
2026-09-11 16:03 ` Petr Vorel [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260911160326.GA1534936@pevik \
--to=pvorel@suse.cz \
--cc=andrea.cervesato@suse.com \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.