From: Thomas Weißschuh <tho...@t-8ch.de>

Signed-off-by: Thomas Weißschuh <tho...@t-8ch.de>
Reviewed-by: Laurent Vivier <laur...@vivier.eu>
Message-Id: <20230424153429.276788-1-tho...@t-8ch.de>
Signed-off-by: Laurent Vivier <laur...@vivier.eu>
---
 linux-user/syscall.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 954ed14df4c0..fccc46e609c6 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9169,6 +9169,33 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int 
num, abi_long arg1,
         unlock_user(p, arg1, 0);
         return ret;
 #endif
+#ifdef TARGET_NR_move_mount
+    case TARGET_NR_move_mount:
+        {
+            void *p2, *p4;
+
+            if (!arg2 || !arg4) {
+                return -TARGET_EFAULT;
+            }
+
+            p2 = lock_user_string(arg2);
+            if (!p2) {
+                return -TARGET_EFAULT;
+            }
+
+            p4 = lock_user_string(arg4);
+            if (!p4) {
+                unlock_user(p2, arg2, 0);
+                return -TARGET_EFAULT;
+            }
+            ret = get_errno(move_mount(arg1, p2, arg3, p4, arg5));
+
+            unlock_user(p2, arg2, 0);
+            unlock_user(p4, arg4, 0);
+
+            return ret;
+        }
+#endif
 #ifdef TARGET_NR_stime /* not on alpha */
     case TARGET_NR_stime:
         {
-- 
2.40.1


Reply via email to