mirror of https://github.com/xemu-project/xemu.git
linux-user: Don't require PROT_READ for mincore
The kernel does not require PROT_READ for addresses passed to mincore. For example the fincore(1) tool from util-linux uses PROT_NONE and currently does not work under qemu-user. Example (with fincore(1) from util-linux 2.38): $ fincore /proc/self/exe RES PAGES SIZE FILE 24K 6 22.1K /proc/self/exe $ qemu-x86_64 /usr/bin/fincore /proc/self/exe fincore: failed to do mincore: /proc/self/exe: Cannot allocate memory With this patch: $ ./build/qemu-x86_64 /usr/bin/fincore /proc/self/exe RES PAGES SIZE FILE 24K 6 22.1K /proc/self/exe Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20230422100314.1650-3-thomas@t-8ch.de> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
64d06015f6
commit
f443a26cc6
|
@ -11993,7 +11993,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
|
|||
#ifdef TARGET_NR_mincore
|
||||
case TARGET_NR_mincore:
|
||||
{
|
||||
void *a = lock_user(VERIFY_READ, arg1, arg2, 0);
|
||||
void *a = lock_user(VERIFY_NONE, arg1, arg2, 0);
|
||||
if (!a) {
|
||||
return -TARGET_ENOMEM;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue