From: Juan Quintela Date: Thu, 16 Jun 2011 16:37:09 +0000 (+0100) Subject: syscall: really return ret code X-Git-Tag: qemu-xen-4.3.0-rc1~2635^2~7 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1add86983cbc972a3431368203f630e290c3f2bb;p=qemu-upstream-4.5-testing.git syscall: really return ret code We assign ret with the error code, but then return 0 unconditionally. Signed-off-by: Juan Quintela Signed-off-by: Peter Maydell Signed-off-by: Riku Voipio --- diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 9f9693e80..00484f1f1 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3799,10 +3799,10 @@ static abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr) #ifndef TARGET_ABI32 static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr) { - abi_long ret; + abi_long ret = 0; abi_ulong val; int idx; - + switch(code) { case TARGET_ARCH_SET_GS: case TARGET_ARCH_SET_FS: @@ -3821,13 +3821,13 @@ static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr) idx = R_FS; val = env->segs[idx].base; if (put_user(val, addr, abi_ulong)) - return -TARGET_EFAULT; + ret = -TARGET_EFAULT; break; default: ret = -TARGET_EINVAL; break; } - return 0; + return ret; } #endif