]> git.ipfire.org Git - thirdparty/qemu.git/commit
linux-user: Emulate /proc/self/maps under mmap_lock
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 14 Oct 2024 20:34:21 +0000 (22:34 +0200)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 10 Nov 2024 08:09:26 +0000 (11:09 +0300)
commitd9fd399d59800f44b6684d109cd4b7240f386f55
tree198c27d6fdb47d5a0eb834cc44c28866fabb04aa
parent88442869cf709f885a9c09fad00b96f802d58ffe
linux-user: Emulate /proc/self/maps under mmap_lock

If one thread modifies the mappings and another thread prints them,
a situation may occur that the printer thread sees a guest mapping
without a corresponding host mapping, leading to a crash in
open_self_maps_2().

Cc: qemu-stable@nongnu.org
Fixes: 7b7a3366e142 ("linux-user: Use walk_memory_regions for open_self_maps")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20241014203441.387560-1-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
(cherry picked from commit bbd5630a75e70a0f1bcf04de74c94aa94a145628)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: context fix in linux-user/syscall.c due to missing v9.0.0-421-g59272469bd13
 "user: Use get_task_state() helper")
linux-user/syscall.c