[PATCH] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha

Helge Deller posted 1 patch 3 years, 2 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210201155922.GA18291@ls3530.fritz.box
Maintainers: Laurent Vivier <laurent@vivier.eu>
[PATCH] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
Posted by Helge Deller 3 years, 2 months ago
The hppa and alpha targets miss the #define of the TARGET___O_TMPFILE
and as such fail to run a trivial symlink command like

    ln -s /bin/bash /tmp

which results in an -EINVAL return code.

Adding the define fixes the problem.

Signed-off-by: Helge Deller <deller@gmx.de>

---

diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
index 2617e73472..0a74807a8b 100644
--- a/linux-user/alpha/target_fcntl.h
+++ b/linux-user/alpha/target_fcntl.h
@@ -23,6 +23,7 @@
 #define TARGET_O_CLOEXEC     010000000
 #define TARGET___O_SYNC      020000000
 #define TARGET_O_PATH        040000000
+#define TARGET___O_TMPFILE  0100000000

 #define TARGET_F_GETLK         7
 #define TARGET_F_SETLK         8
diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
index bd966a59b8..08e3a4fcb0 100644
--- a/linux-user/hppa/target_fcntl.h
+++ b/linux-user/hppa/target_fcntl.h
@@ -21,6 +21,7 @@
 #define TARGET_O_CLOEXEC     010000000
 #define TARGET___O_SYNC      000100000
 #define TARGET_O_PATH        020000000
+#define TARGET___O_TMPFILE   040000000

 #define TARGET_F_RDLCK         1
 #define TARGET_F_WRLCK         2

Re: [PATCH] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
Posted by Laurent Vivier 3 years, 2 months ago
Le 01/02/2021 à 16:59, Helge Deller a écrit :
> The hppa and alpha targets miss the #define of the TARGET___O_TMPFILE
> and as such fail to run a trivial symlink command like
> 
>     ln -s /bin/bash /tmp
> 
> which results in an -EINVAL return code.
> 
> Adding the define fixes the problem.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>
> 
> ---
> 
> diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
> index 2617e73472..0a74807a8b 100644
> --- a/linux-user/alpha/target_fcntl.h
> +++ b/linux-user/alpha/target_fcntl.h
> @@ -23,6 +23,7 @@
>  #define TARGET_O_CLOEXEC     010000000
>  #define TARGET___O_SYNC      020000000
>  #define TARGET_O_PATH        040000000
> +#define TARGET___O_TMPFILE  0100000000
> 
>  #define TARGET_F_GETLK         7
>  #define TARGET_F_SETLK         8
> diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
> index bd966a59b8..08e3a4fcb0 100644
> --- a/linux-user/hppa/target_fcntl.h
> +++ b/linux-user/hppa/target_fcntl.h
> @@ -21,6 +21,7 @@
>  #define TARGET_O_CLOEXEC     010000000
>  #define TARGET___O_SYNC      000100000
>  #define TARGET_O_PATH        020000000
> +#define TARGET___O_TMPFILE   040000000
> 
>  #define TARGET_F_RDLCK         1
>  #define TARGET_F_WRLCK         2
> 

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

Thanks,
Laurent

Re: [PATCH] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
Posted by Helge Deller 3 years, 2 months ago
Dear qemu-stable,

can you please consider adding this patch to the qemu-stable branch.
Upstream commit 23b311155078bdd5bacc016ff3b3ebb5462b10c0

Thanks,
Helge

On 2/1/21 4:59 PM, Helge Deller wrote:
> The hppa and alpha targets miss the #define of the TARGET___O_TMPFILE
> and as such fail to run a trivial symlink command like
>
>      ln -s /bin/bash /tmp
>
> which results in an -EINVAL return code.
>
> Adding the define fixes the problem.
>
> Signed-off-by: Helge Deller <deller@gmx.de>
>
> ---
>
> diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
> index 2617e73472..0a74807a8b 100644
> --- a/linux-user/alpha/target_fcntl.h
> +++ b/linux-user/alpha/target_fcntl.h
> @@ -23,6 +23,7 @@
>   #define TARGET_O_CLOEXEC     010000000
>   #define TARGET___O_SYNC      020000000
>   #define TARGET_O_PATH        040000000
> +#define TARGET___O_TMPFILE  0100000000
>
>   #define TARGET_F_GETLK         7
>   #define TARGET_F_SETLK         8
> diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
> index bd966a59b8..08e3a4fcb0 100644
> --- a/linux-user/hppa/target_fcntl.h
> +++ b/linux-user/hppa/target_fcntl.h
> @@ -21,6 +21,7 @@
>   #define TARGET_O_CLOEXEC     010000000
>   #define TARGET___O_SYNC      000100000
>   #define TARGET_O_PATH        020000000
> +#define TARGET___O_TMPFILE   040000000
>
>   #define TARGET_F_RDLCK         1
>   #define TARGET_F_WRLCK         2
>


Re: [PATCH] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
Posted by Laurent Vivier 3 years, 2 months ago
Le 01/02/2021 à 16:59, Helge Deller a écrit :
> The hppa and alpha targets miss the #define of the TARGET___O_TMPFILE
> and as such fail to run a trivial symlink command like
> 
>     ln -s /bin/bash /tmp
> 
> which results in an -EINVAL return code.
> 
> Adding the define fixes the problem.
> 
> Signed-off-by: Helge Deller <deller@gmx.de>
> 
> ---
> 
> diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
> index 2617e73472..0a74807a8b 100644
> --- a/linux-user/alpha/target_fcntl.h
> +++ b/linux-user/alpha/target_fcntl.h
> @@ -23,6 +23,7 @@
>  #define TARGET_O_CLOEXEC     010000000
>  #define TARGET___O_SYNC      020000000
>  #define TARGET_O_PATH        040000000
> +#define TARGET___O_TMPFILE  0100000000
> 
>  #define TARGET_F_GETLK         7
>  #define TARGET_F_SETLK         8
> diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
> index bd966a59b8..08e3a4fcb0 100644
> --- a/linux-user/hppa/target_fcntl.h
> +++ b/linux-user/hppa/target_fcntl.h
> @@ -21,6 +21,7 @@
>  #define TARGET_O_CLOEXEC     010000000
>  #define TARGET___O_SYNC      000100000
>  #define TARGET_O_PATH        020000000
> +#define TARGET___O_TMPFILE   040000000
> 
>  #define TARGET_F_RDLCK         1
>  #define TARGET_F_WRLCK         2
> 

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