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
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
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 >
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>
© 2016 - 2024 Red Hat, Inc.