accel/tcg: Preserve PAGE_ANON when changing page permissions
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 6 Apr 2021 17:40:20 +0000 (10:40 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 12 Apr 2021 10:06:24 +0000 (11:06 +0100)
commiteb42297a59e103500bdd2c352c5b52f54b1c33cd
treeaf7603fdfa104013fc2ef405f69533c996c55df5
parent017a913af4dff47ac5e62be613b9f8b88fc8fa96
accel/tcg: Preserve PAGE_ANON when changing page permissions

Using mprotect() to change PROT_* does not change the MAP_ANON
previously set with mmap().  Our linux-user version of MTE only
works with MAP_ANON pages, so losing PAGE_ANON caused MTE to
stop working.

Reported-by: Stephen Long <steplong@quicinc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
accel/tcg/translate-all.c
tests/tcg/aarch64/Makefile.target
tests/tcg/aarch64/mte-6.c [new file with mode: 0644]
tests/tcg/aarch64/mte.h