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
@ -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…
Reference in New Issue
Block a user