Message ID | 20210201220551.GA8015@ls3530.fritz.box (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] linux-user: fix O_NONBLOCK usage for hppa target | expand |
Le 01/02/2021 à 23:05, Helge Deller a écrit : > Historically the parisc linux port tried to be compatible with HP-UX > userspace and as such defined the O_NONBLOCK constant to 0200004 to > emulate separate NDELAY & NONBLOCK values. > > Since parisc was the only Linux platform which had two bits set, this > produced various userspace issues. Finally it was decided to drop the > (never completed) HP-UX compatibilty, which is why O_NONBLOCK was > changed upstream to only have one bit set in future with this commit: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 > > This patch simply adjusts the value for qemu-user too. > > Signed-off-by: Helge Deller <deller@gmx.de> > > --- > > 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 > @@ -8,7 +8,7 @@ > #ifndef HPPA_TARGET_FCNTL_H > #define HPPA_TARGET_FCNTL_H > > -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ > +#define TARGET_O_NONBLOCK 000200000 > #define TARGET_O_APPEND 000000010 > #define TARGET_O_CREAT 000000400 /* not fcntl */ > #define TARGET_O_EXCL 000002000 /* not fcntl */ > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Le 01/02/2021 à 23:05, Helge Deller a écrit : > Historically the parisc linux port tried to be compatible with HP-UX > userspace and as such defined the O_NONBLOCK constant to 0200004 to > emulate separate NDELAY & NONBLOCK values. > > Since parisc was the only Linux platform which had two bits set, this > produced various userspace issues. Finally it was decided to drop the > (never completed) HP-UX compatibilty, which is why O_NONBLOCK was > changed upstream to only have one bit set in future with this commit: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 > > This patch simply adjusts the value for qemu-user too. > > Signed-off-by: Helge Deller <deller@gmx.de> > > --- > > 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 > @@ -8,7 +8,7 @@ > #ifndef HPPA_TARGET_FCNTL_H > #define HPPA_TARGET_FCNTL_H > > -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ > +#define TARGET_O_NONBLOCK 000200000 > #define TARGET_O_APPEND 000000010 > #define TARGET_O_CREAT 000000400 /* not fcntl */ > #define TARGET_O_EXCL 000002000 /* not fcntl */ > 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 2bdc74f3d7c4cacb65dbde910471c62992640275 Thanks, Helge On 2/13/21 5:25 PM, Laurent Vivier wrote: > Le 01/02/2021 à 23:05, Helge Deller a écrit : >> Historically the parisc linux port tried to be compatible with HP-UX >> userspace and as such defined the O_NONBLOCK constant to 0200004 to >> emulate separate NDELAY & NONBLOCK values. >> >> Since parisc was the only Linux platform which had two bits set, this >> produced various userspace issues. Finally it was decided to drop the >> (never completed) HP-UX compatibilty, which is why O_NONBLOCK was >> changed upstream to only have one bit set in future with this commit: >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 >> >> This patch simply adjusts the value for qemu-user too. >> >> Signed-off-by: Helge Deller <deller@gmx.de> >> >> --- >> >> 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 >> @@ -8,7 +8,7 @@ >> #ifndef HPPA_TARGET_FCNTL_H >> #define HPPA_TARGET_FCNTL_H >> >> -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ >> +#define TARGET_O_NONBLOCK 000200000 >> #define TARGET_O_APPEND 000000010 >> #define TARGET_O_CREAT 000000400 /* not fcntl */ >> #define TARGET_O_EXCL 000002000 /* not fcntl */ >> > > Applied to my linux-user-for-6.0 branch. > > Thanks, > Laurent >
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 @@ -8,7 +8,7 @@ #ifndef HPPA_TARGET_FCNTL_H #define HPPA_TARGET_FCNTL_H -#define TARGET_O_NONBLOCK 000200004 /* HPUX has separate NDELAY & NONBLOCK */ +#define TARGET_O_NONBLOCK 000200000 #define TARGET_O_APPEND 000000010 #define TARGET_O_CREAT 000000400 /* not fcntl */ #define TARGET_O_EXCL 000002000 /* not fcntl */
Historically the parisc linux port tried to be compatible with HP-UX userspace and as such defined the O_NONBLOCK constant to 0200004 to emulate separate NDELAY & NONBLOCK values. Since parisc was the only Linux platform which had two bits set, this produced various userspace issues. Finally it was decided to drop the (never completed) HP-UX compatibilty, which is why O_NONBLOCK was changed upstream to only have one bit set in future with this commit: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814 This patch simply adjusts the value for qemu-user too. Signed-off-by: Helge Deller <deller@gmx.de> ---