syscall: really return ret code

We assign ret with the error code, but then return 0 unconditionally.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
This commit is contained in:
Juan Quintela 2011-06-16 17:37:09 +01:00 committed by Riku Voipio
parent 331c23b5ca
commit 1add86983c

View File

@ -3799,10 +3799,10 @@ static abi_long do_get_thread_area(CPUX86State *env, abi_ulong ptr)
#ifndef TARGET_ABI32 #ifndef TARGET_ABI32
static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr) static abi_long do_arch_prctl(CPUX86State *env, int code, abi_ulong addr)
{ {
abi_long ret; abi_long ret = 0;
abi_ulong val; abi_ulong val;
int idx; int idx;
switch(code) { switch(code) {
case TARGET_ARCH_SET_GS: case TARGET_ARCH_SET_GS:
case TARGET_ARCH_SET_FS: 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; idx = R_FS;
val = env->segs[idx].base; val = env->segs[idx].base;
if (put_user(val, addr, abi_ulong)) if (put_user(val, addr, abi_ulong))
return -TARGET_EFAULT; ret = -TARGET_EFAULT;
break; break;
default: default:
ret = -TARGET_EINVAL; ret = -TARGET_EINVAL;
break; break;
} }
return 0; return ret;
} }
#endif #endif