qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] linux-user: Add move_mount() syscall
@ 2023-04-24 15:34 Thomas Weißschuh
  2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Thomas Weißschuh @ 2023-04-24 15:34 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Weißschuh, Laurent Vivier

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
---
 linux-user/syscall.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 69f740ff98c8..95e370130cee 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9139,6 +9139,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:
         {

base-commit: 81072abf1575b11226b3779af76dc71dfa85ee5d
-- 
2.40.0



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

* [PATCH 2/2] linux-user: Add open_tree() syscall
  2023-04-24 15:34 [PATCH 1/2] linux-user: Add move_mount() syscall Thomas Weißschuh
@ 2023-04-24 15:34 ` Thomas Weißschuh
  2023-05-01 15:18   ` Laurent Vivier
  2023-05-01 15:34   ` Laurent Vivier
  2023-05-01 15:12 ` [PATCH 1/2] linux-user: Add move_mount() syscall Laurent Vivier
  2023-05-01 15:22 ` Laurent Vivier
  2 siblings, 2 replies; 6+ messages in thread
From: Thomas Weißschuh @ 2023-04-24 15:34 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Weißschuh, Laurent Vivier

Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
---
 linux-user/syscall.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 95e370130cee..140bd2c36e0f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9166,6 +9166,32 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
             return ret;
         }
 #endif
+#ifdef TARGET_NR_open_tree
+    case TARGET_NR_open_tree:
+        {
+            void *p2;
+
+            if (!arg2) {
+                return -TARGET_EFAULT;
+            }
+
+            p2 = lock_user_string(arg2);
+            if (!p2) {
+                return -TARGET_EFAULT;
+            }
+
+            int host_flags = arg3 & ~TARGET_O_CLOEXEC;
+            if (arg3 & TARGET_O_CLOEXEC) {
+                host_flags |= O_CLOEXEC;
+            }
+
+            ret = get_errno(open_tree(arg1, p2, host_flags));
+
+            unlock_user(p2, arg2, 0);
+
+            return ret;
+        }
+#endif
 #ifdef TARGET_NR_stime /* not on alpha */
     case TARGET_NR_stime:
         {
-- 
2.40.0



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

* Re: [PATCH 1/2] linux-user: Add move_mount() syscall
  2023-04-24 15:34 [PATCH 1/2] linux-user: Add move_mount() syscall Thomas Weißschuh
  2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
@ 2023-05-01 15:12 ` Laurent Vivier
  2023-05-01 15:22 ` Laurent Vivier
  2 siblings, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2023-05-01 15:12 UTC (permalink / raw)
  To: Thomas Weißschuh, qemu-devel

Le 24/04/2023 à 17:34, Thomas Weißschuh a écrit :
> Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
> ---
>   linux-user/syscall.c | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 69f740ff98c8..95e370130cee 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9139,6 +9139,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:
>           {
> 
> base-commit: 81072abf1575b11226b3779af76dc71dfa85ee5d

Reviewed-by: Laurent Vivier <laurent@vivier.eu>



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

* Re: [PATCH 2/2] linux-user: Add open_tree() syscall
  2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
@ 2023-05-01 15:18   ` Laurent Vivier
  2023-05-01 15:34   ` Laurent Vivier
  1 sibling, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2023-05-01 15:18 UTC (permalink / raw)
  To: Thomas Weißschuh, qemu-devel

Le 24/04/2023 à 17:34, Thomas Weißschuh a écrit :
> Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
> ---
>   linux-user/syscall.c | 26 ++++++++++++++++++++++++++
>   1 file changed, 26 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 95e370130cee..140bd2c36e0f 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9166,6 +9166,32 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
>               return ret;
>           }
>   #endif
> +#ifdef TARGET_NR_open_tree
> +    case TARGET_NR_open_tree:
> +        {
> +            void *p2;
> +
> +            if (!arg2) {
> +                return -TARGET_EFAULT;
> +            }
> +
> +            p2 = lock_user_string(arg2);
> +            if (!p2) {
> +                return -TARGET_EFAULT;
> +            }
> +
> +            int host_flags = arg3 & ~TARGET_O_CLOEXEC;
> +            if (arg3 & TARGET_O_CLOEXEC) {
> +                host_flags |= O_CLOEXEC;
> +            }
> +
> +            ret = get_errno(open_tree(arg1, p2, host_flags));
> +
> +            unlock_user(p2, arg2, 0);
> +
> +            return ret;
> +        }
> +#endif
>   #ifdef TARGET_NR_stime /* not on alpha */
>       case TARGET_NR_stime:
>           {

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


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

* Re: [PATCH 1/2] linux-user: Add move_mount() syscall
  2023-04-24 15:34 [PATCH 1/2] linux-user: Add move_mount() syscall Thomas Weißschuh
  2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
  2023-05-01 15:12 ` [PATCH 1/2] linux-user: Add move_mount() syscall Laurent Vivier
@ 2023-05-01 15:22 ` Laurent Vivier
  2 siblings, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2023-05-01 15:22 UTC (permalink / raw)
  To: Thomas Weißschuh, qemu-devel

Le 24/04/2023 à 17:34, Thomas Weißschuh a écrit :
> Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
> ---
>   linux-user/syscall.c | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 69f740ff98c8..95e370130cee 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9139,6 +9139,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:
>           {
> 
> base-commit: 81072abf1575b11226b3779af76dc71dfa85ee5d

Applied to my linux-user-for-8.1 branch.

Thanks,
Laurent



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

* Re: [PATCH 2/2] linux-user: Add open_tree() syscall
  2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
  2023-05-01 15:18   ` Laurent Vivier
@ 2023-05-01 15:34   ` Laurent Vivier
  1 sibling, 0 replies; 6+ messages in thread
From: Laurent Vivier @ 2023-05-01 15:34 UTC (permalink / raw)
  To: Thomas Weißschuh, qemu-devel

Le 24/04/2023 à 17:34, Thomas Weißschuh a écrit :
> Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
> ---
>   linux-user/syscall.c | 26 ++++++++++++++++++++++++++
>   1 file changed, 26 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 95e370130cee..140bd2c36e0f 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9166,6 +9166,32 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
>               return ret;
>           }
>   #endif
> +#ifdef TARGET_NR_open_tree
> +    case TARGET_NR_open_tree:
> +        {
> +            void *p2;
> +
> +            if (!arg2) {
> +                return -TARGET_EFAULT;
> +            }
> +
> +            p2 = lock_user_string(arg2);
> +            if (!p2) {
> +                return -TARGET_EFAULT;
> +            }
> +
> +            int host_flags = arg3 & ~TARGET_O_CLOEXEC;
> +            if (arg3 & TARGET_O_CLOEXEC) {
> +                host_flags |= O_CLOEXEC;
> +            }
> +
> +            ret = get_errno(open_tree(arg1, p2, host_flags));
> +
> +            unlock_user(p2, arg2, 0);
> +
> +            return ret;
> +        }
> +#endif
>   #ifdef TARGET_NR_stime /* not on alpha */
>       case TARGET_NR_stime:
>           {

Applied to my linux-user-for-8.1 branch.
(moved the variable declaration to the beginning of the block)

Thanks,
Laurent



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

end of thread, other threads:[~2023-05-01 15:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-24 15:34 [PATCH 1/2] linux-user: Add move_mount() syscall Thomas Weißschuh
2023-04-24 15:34 ` [PATCH 2/2] linux-user: Add open_tree() syscall Thomas Weißschuh
2023-05-01 15:18   ` Laurent Vivier
2023-05-01 15:34   ` Laurent Vivier
2023-05-01 15:12 ` [PATCH 1/2] linux-user: Add move_mount() syscall Laurent Vivier
2023-05-01 15:22 ` Laurent Vivier

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).