mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
linux-user: Clear translations on mprotect()
Currently it's possible to execute pages that do not have PAGE_EXEC if there is an existing translation block. Fix by invalidating TBs that touch the affected pages. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Message-Id: <20220817150506.592862-2-iii@linux.ibm.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
872f3d046f
commit
aa98e2d885
1 changed files with 4 additions and 2 deletions
|
@ -177,9 +177,11 @@ int target_mprotect(abi_ulong start, abi_ulong len, int target_prot)
|
|||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
page_set_flags(start, start + len, page_flags);
|
||||
mmap_unlock();
|
||||
return 0;
|
||||
tb_invalidate_phys_range(start, start + len);
|
||||
ret = 0;
|
||||
|
||||
error:
|
||||
mmap_unlock();
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue