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