]> git.ipfire.org Git - thirdparty/qemu.git/commit
linux-user: Fix shmat(NULL) for h != g
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 25 Mar 2024 19:23:01 +0000 (20:23 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Wed, 27 Mar 2024 04:20:36 +0000 (18:20 -1000)
commitfa527b44c2d65d48cc3c5ac018dc935cc286f5a9
treeb78e84c00d59c644a748626c7a06433902b67f6b
parente6763d7dfc69ae41bb97541de15fa9108d8d6ce2
linux-user: Fix shmat(NULL) for h != g

In the h != g && shmaddr == NULL && !reserved_va case, target_shmat()
incorrectly mmap()s the initial anonymous range with
MAP_FIXED_NOREPLACE, even though the earlier mmap_find_vma() has
already reserved the respective address range.

Fix by using MAP_FIXED when "mapped", which is set after
mmap_find_vma(), is true.

Fixes: 78bc8ed9a8f0 ("linux-user: Rewrite target_shmat")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240325192436.561154-4-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/mmap.c