Le 20/12/2021 à 23:41, Philippe Mathieu-Daudé a écrit :
On 12/20/21 22:41, Richard Henderson wrote:
Create a list of subcodes that we want to pass on, a list of
subcodes that should not be passed on because they would affect
the running qemu itself, and a list that probably could be
implemented but require extra work. Do not pass on unknown subcodes.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
linux-user/syscall.c | 56 ++++++++++++++++++++++++++++++++++++++++----
1 file changed, 52 insertions(+), 4 deletions(-)
+ case PR_SET_SYSCALL_USER_DISPATCH:
+ case PR_GET_THP_DISABLE:
+ case PR_SET_THP_DISABLE:
+ case PR_GET_TSC:
+ case PR_SET_TSC:
+ case PR_GET_UNALIGN:
+ case PR_SET_UNALIGN:
default:
Unfortunately prctl values are not enumerated, so we can't remove
the default case to catch new values at build time.
Maybe a qemu_log_mask(LOG_UNIMP) call would help here? (only
Yes, I think a qemu_log_mask(LOG_UNIMP) for the default case would help.
for default?)
Regardless:
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: Laurent Vivier <laur...@vivier.eu>
- /* Most prctl options have no pointer arguments */
- return get_errno(prctl(option, arg2, arg3, arg4, arg5));
+ /* Disable to prevent the target disabling stuff we need. */
+ return -TARGET_EINVAL;
}
}