On 03/19/2018 02:11 PM, Andreas Schwab wrote:
On Mär 19 2018, Andrew Senkevich<andrew.n.senkevich@gmail.com> wrote:
+static void
+do_test2 (void)
+{
+ uint32_t num = 0x20000000;
+ uint32_t * large_buf;
+
+ large_buf = mmap ((void*)0x70000000, num, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANON | MAP_FIXED, -1, 0);
Since you are using MAP_FIXED this may overwrite an existing mapping.
Leading to a hard-to-debug crash, maybe sporadically due to ASLR. Yes, I have this concern as well.
There was a long, long Linux thread about a non-overriding MAP_FIXED variant, but as far as I can see, this has not been merged. Maybe it would
have helped here.