Re: [Qemu-devel] [PATCH v2 07/11] linux-user: fix target_mprotect/target_munmap error return values
Le 28/02/2018 à 23:16, Max Filippov a écrit : > target_mprotect/target_munmap return value goes through get_errno at the > call site, thus the functions must either set errno to host error code > and return -1 or return negative guest error code. Do the latter. > > Cc: qemu-sta...@nongnu.org > Cc: Riku Voipio> Cc: Laurent Vivier > Signed-off-by: Max Filippov > --- > linux-user/mmap.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > Applied to my 'linux-user-for-2.12' branch. Thanks, Laurent
Re: [Qemu-devel] [PATCH v2 07/11] linux-user: fix target_mprotect/target_munmap error return values
Le 28/02/2018 à 23:16, Max Filippov a écrit : > target_mprotect/target_munmap return value goes through get_errno at the > call site, thus the functions must either set errno to host error code > and return -1 or return negative guest error code. Do the latter. > > Cc: qemu-sta...@nongnu.org > Cc: Riku Voipio> Cc: Laurent Vivier > Signed-off-by: Max Filippov > --- > linux-user/mmap.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) Reviewed-by: Laurent Vivier
[Qemu-devel] [PATCH v2 07/11] linux-user: fix target_mprotect/target_munmap error return values
target_mprotect/target_munmap return value goes through get_errno at the call site, thus the functions must either set errno to host error code and return -1 or return negative guest error code. Do the latter. Cc: qemu-sta...@nongnu.org Cc: Riku VoipioCc: Laurent Vivier Signed-off-by: Max Filippov --- linux-user/mmap.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/linux-user/mmap.c b/linux-user/mmap.c index df81f9b803b6..84b15c9a1699 100644 --- a/linux-user/mmap.c +++ b/linux-user/mmap.c @@ -77,11 +77,11 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot) #endif if ((start & ~TARGET_PAGE_MASK) != 0) -return -EINVAL; +return -TARGET_EINVAL; len = TARGET_PAGE_ALIGN(len); end = start + len; if (!guest_range_valid(start, len)) { -return -ENOMEM; +return -TARGET_ENOMEM; } prot &= PROT_READ | PROT_WRITE | PROT_EXEC; if (len == 0) @@ -621,10 +621,10 @@ int target_munmap(abi_ulong start, abi_ulong len) start, len); #endif if (start & ~TARGET_PAGE_MASK) -return -EINVAL; +return -TARGET_EINVAL; len = TARGET_PAGE_ALIGN(len); if (len == 0 || !guest_range_valid(start, len)) { -return -EINVAL; +return -TARGET_EINVAL; } mmap_lock(); -- 2.11.0