In an fcntl64 failure path, we were returning directly rather than
simply breaking out of the switch statement. This skips the strace
code for printing the syscall return value, so don't do that.

Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
Alex Graf spotted this one...

 linux-user/syscall.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f227097..4846b41 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7521,8 +7521,10 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
arg1,
 #endif
 
        cmd = target_to_host_fcntl_cmd(arg2);
-       if (cmd == -TARGET_EINVAL)
-               return cmd;
+        if (cmd == -TARGET_EINVAL) {
+            ret = cmd;
+            break;
+        }
 
         switch(arg2) {
         case TARGET_F_GETLK64:
-- 
1.7.5.4


Reply via email to