qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] linux-user: change do_semop to return target errno when unsuccessful
@ 2013-03-21 17:57 Petar Jovanovic
  2013-03-21 18:03 ` Peter Maydell
  2013-04-19  9:42 ` Stefan Hajnoczi
  0 siblings, 2 replies; 7+ messages in thread
From: Petar Jovanovic @ 2013-03-21 17:57 UTC (permalink / raw)
  To: qemu-devel; +Cc: riku.voipio, petar.jovanovic

From: Petar Jovanovic <petar.jovanovic@imgtec.com>

do_semop() is called from two places, and one of these fails to convert
return error to target errno when semop fails. This patch changes the
function to always return target errno in case of an unsuccessful call.

Signed-off-by: Petar Jovanovic <petar.jovanovic@imgtec.com>
---
 linux-user/syscall.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index ee82a2d..3c4c155 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2764,7 +2764,7 @@ static inline abi_long do_semop(int semid, abi_long ptr, unsigned nsops)
     if (target_to_host_sembuf(sops, ptr, nsops))
         return -TARGET_EFAULT;
 
-    return semop(semid, sops, nsops);
+    return get_errno(semop(semid, sops, nsops));
 }
 
 struct target_msqid_ds
@@ -6957,7 +6957,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
 #endif
 #ifdef TARGET_NR_semop
     case TARGET_NR_semop:
-        ret = get_errno(do_semop(arg1, arg2, arg3));
+        ret = do_semop(arg1, arg2, arg3);
         break;
 #endif
 #ifdef TARGET_NR_semctl
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-04-19 10:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-21 17:57 [Qemu-devel] [PATCH] linux-user: change do_semop to return target errno when unsuccessful Petar Jovanovic
2013-03-21 18:03 ` Peter Maydell
2013-04-01 17:07   ` Petar Jovanovic
2013-04-08 18:31     ` Petar Jovanovic
2013-04-15 12:10       ` Petar Jovanovic
2013-04-19  9:42 ` Stefan Hajnoczi
2013-04-19 10:10   ` Riku Voipio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).