All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/13] Linux user for 6.0 patches
@ 2021-02-15 12:45 Laurent Vivier
  2021-02-15 12:45 ` [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI Laurent Vivier
                   ` (13 more replies)
  0 siblings, 14 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier

The following changes since commit f4ceebdec531243dd72e38f85f085287e6e63258:

  Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-6.0-pull-request=
' into staging (2021-02-13 18:16:43 +0000)

are available in the Git repository at:

  git://github.com/vivier/qemu.git tags/linux-user-for-6.0-pull-request

for you to fetch changes up to b8f91fd49c5c6993e06f0cd7bf024d176051320e:

  linux-user/mips: Support the n32 ABI for the R5900 (2021-02-15 12:10:03 +01=
00)

----------------------------------------------------------------
Pull request linux-user 20210215

mips o32 ABI update / R5900 update
Remove outdated info from docs
Add definitions of TARGET_SS_AUTODISARM, TARGET_SO_DOMAIN, TARGET_SO_PROTOCOL
Fix ioctl(), waitid(), mremap(), signalfd4(), eventfd2()
Fix O_NONBLOCK (hppa), __O_TMPFILE (hppa/alpha)

----------------------------------------------------------------

Alistair Francis (1):
  linux-user/signal: Decode waitid si_code

Chen Gang (1):
  linux-user: target: signal: Support TARGET_SS_AUTODISARM

Fredrik Noring (1):
  linux-user/mips: Support the n32 ABI for the R5900

Giuseppe Musacchio (1):
  linux-user: Fix loading of BSS segments

Helge Deller (3):
  linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
  linux-user: fix O_NONBLOCK usage for hppa target
  linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls

Jason A. Donenfeld (1):
  linux-user: add TARGET_SO_{DOMAIN,PROTOCOL}

Peter Maydell (1):
  docs/user: Remove outdated 'Quick Start' section

Philippe Mathieu-Daud=C3=A9 (2):
  linux-user/mips64: Restore setup_frame() for o32 ABI
  linux-user/mips64: Support o32 ABI syscalls

Richard Purdie (1):
  linux-user/mmap: Avoid asserts for out of range mremap calls

Stefan (1):
  linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets.

 docs/user/main.rst                | 61 -------------------------------
 linux-user/alpha/target_fcntl.h   |  1 +
 linux-user/alpha/target_signal.h  |  6 +++
 linux-user/elfload.c              | 30 ++++++++++-----
 linux-user/generic/signal.h       |  6 +++
 linux-user/generic/sockbits.h     |  3 ++
 linux-user/hppa/target_fcntl.h    |  4 +-
 linux-user/hppa/target_signal.h   |  5 +++
 linux-user/mips/sockbits.h        |  2 +
 linux-user/mips/target_signal.h   |  6 +++
 linux-user/mips64/syscall_nr.h    |  5 ++-
 linux-user/mips64/target_elf.h    |  3 ++
 linux-user/mips64/target_signal.h |  9 +++++
 linux-user/mmap.c                 |  4 +-
 linux-user/signal.c               |  3 +-
 linux-user/sparc/target_signal.h  |  6 +++
 linux-user/syscall.c              | 18 +++++++--
 17 files changed, 93 insertions(+), 79 deletions(-)

--=20
2.29.2



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

* [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 02/13] linux-user/mips64: Support o32 ABI syscalls Laurent Vivier
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Richard Henderson, Philippe Mathieu-Daudé, Laurent Vivier

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

64-bit MIPS targets lost setup_frame() during the refactor in commit
8949bef18b9. Restore it declaring TARGET_ARCH_HAS_SETUP_FRAME, to be
able to build the o32 ABI target.

Fixes: 8949bef18b9 ("linux-user: move mips/mips64 signal.c parts to mips directory")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201119161710.1985083-2-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/mips64/target_signal.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/linux-user/mips64/target_signal.h b/linux-user/mips64/target_signal.h
index 799f7a668cd0..f1f0ed7f7067 100644
--- a/linux-user/mips64/target_signal.h
+++ b/linux-user/mips64/target_signal.h
@@ -67,4 +67,8 @@ typedef struct target_sigaltstack {
 #define TARGET_MINSIGSTKSZ    2048
 #define TARGET_SIGSTKSZ       8192
 
+#if defined(TARGET_ABI_MIPSO32)
+/* compare linux/arch/mips/kernel/signal.c:setup_frame() */
+#define TARGET_ARCH_HAS_SETUP_FRAME
+#endif
 #endif /* MIPS64_TARGET_SIGNAL_H */
-- 
2.29.2



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

* [PULL 02/13] linux-user/mips64: Support o32 ABI syscalls
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
  2021-02-15 12:45 ` [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 03/13] linux-user/signal: Decode waitid si_code Laurent Vivier
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Richard Henderson, Philippe Mathieu-Daudé, Laurent Vivier

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

o32 ABI syscalls start at offset 4000.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201119161710.1985083-3-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/mips64/syscall_nr.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/linux-user/mips64/syscall_nr.h b/linux-user/mips64/syscall_nr.h
index 672f2fa51cba..6579421fa639 100644
--- a/linux-user/mips64/syscall_nr.h
+++ b/linux-user/mips64/syscall_nr.h
@@ -1,4 +1,7 @@
-#ifdef TARGET_ABI_MIPSN32
+#if defined(TARGET_ABI_MIPSO32)
+#define TARGET_SYSCALL_OFFSET 4000
+#include "syscall_o32_nr.h"
+#elif defined(TARGET_ABI_MIPSN32)
 #define TARGET_SYSCALL_OFFSET 6000
 #include "syscall_n32_nr.h"
 #else
-- 
2.29.2



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

* [PULL 03/13] linux-user/signal: Decode waitid si_code
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
  2021-02-15 12:45 ` [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI Laurent Vivier
  2021-02-15 12:45 ` [PULL 02/13] linux-user/mips64: Support o32 ABI syscalls Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 04/13] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha Laurent Vivier
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas K . Hüttel, Alistair Francis, Laurent Vivier

From: Alistair Francis <alistair.francis@wdc.com>

When mapping the host waitid status to the target status we previously
just used decoding information in the status value. This doesn't follow
what the waitid documentation describes, which instead suggests using
the si_code value for the decoding. This results in the incorrect values
seen when calling waitid. This is especially apparent on RV32 where all
wait calls use waitid (see the bug case).

This patch just passes the waitid status directly back to the guest.

Buglink: https://bugs.launchpad.net/qemu/+bug/1906193
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Tested-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <1fb2d56aa23a81f4473e638abe9e2d78c09a3d5b.1611080607.git.alistair.francis@wdc.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/signal.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 73de934c6511..7eecec46c407 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -349,8 +349,7 @@ static inline void host_to_target_siginfo_noswap(target_siginfo_t *tinfo,
         case TARGET_SIGCHLD:
             tinfo->_sifields._sigchld._pid = info->si_pid;
             tinfo->_sifields._sigchld._uid = info->si_uid;
-            tinfo->_sifields._sigchld._status
-                = host_to_target_waitstatus(info->si_status);
+            tinfo->_sifields._sigchld._status = info->si_status;
             tinfo->_sifields._sigchld._utime = info->si_utime;
             tinfo->_sifields._sigchld._stime = info->si_stime;
             si_type = QEMU_SI_CHLD;
-- 
2.29.2



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

* [PULL 04/13] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (2 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 03/13] linux-user/signal: Decode waitid si_code Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 05/13] linux-user: fix O_NONBLOCK usage for hppa target Laurent Vivier
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Helge Deller, Laurent Vivier

From: Helge Deller <deller@gmx.de>

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>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210201155922.GA18291@ls3530.fritz.box>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/alpha/target_fcntl.h | 1 +
 linux-user/hppa/target_fcntl.h  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/linux-user/alpha/target_fcntl.h b/linux-user/alpha/target_fcntl.h
index e16ed1d4157f..99774d731727 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 bd966a59b8d4..9eaeef9d8e7b 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
-- 
2.29.2



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

* [PULL 05/13] linux-user: fix O_NONBLOCK usage for hppa target
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (3 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 04/13] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 06/13] linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls Laurent Vivier
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Helge Deller, Laurent Vivier

From: Helge Deller <deller@gmx.de>

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>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210201220551.GA8015@ls3530.fritz.box>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/hppa/target_fcntl.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
index 9eaeef9d8e7b..08e3a4fcb0b7 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 */
-- 
2.29.2



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

* [PULL 06/13] linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (4 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 05/13] linux-user: fix O_NONBLOCK usage for hppa target Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 07/13] linux-user: Fix loading of BSS segments Laurent Vivier
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Helge Deller, Laurent Vivier

From: Helge Deller <deller@gmx.de>

On the hppa target userspace binaries may call signalfd4() and
eventfd2() with an old TARGET_O_NONBLOCK value of 000200004 instead of
000200000 for the "mask" syscall parameter, in which case the current
emulation doesn't handle the translation to the native O_NONBLOCK value
correctly.

The 0x04 bit is not masked out before the new O_NONBLOCK bit is set and
as such when calling the native syscall errors out with EINVAL.

Fix this by introducing TARGET_O_NONBLOCK_MASK which is used to mask off
all possible bits. This define defaults to TARGET_O_NONBLOCK when not
defined otherwise, so for all other targets the implementation will
behave as before.

This patch needs to be applied on top of my previous two patches.

Bug was found and patch was verified by using qemu-hppa as debian buildd
server on x86_64.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Message-Id: <20210210061214.GA221322@ls3530.fritz.box>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/hppa/target_fcntl.h | 1 +
 linux-user/syscall.c           | 9 +++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/linux-user/hppa/target_fcntl.h b/linux-user/hppa/target_fcntl.h
index 08e3a4fcb0b7..4eb0ec98e259 100644
--- a/linux-user/hppa/target_fcntl.h
+++ b/linux-user/hppa/target_fcntl.h
@@ -9,6 +9,7 @@
 #define HPPA_TARGET_FCNTL_H
 
 #define TARGET_O_NONBLOCK    000200000
+#define TARGET_O_NONBLOCK_MASK 000200004 /* includes old HP-UX NDELAY flag */
 #define TARGET_O_APPEND      000000010
 #define TARGET_O_CREAT       000000400 /* not fcntl */
 #define TARGET_O_EXCL        000002000 /* not fcntl */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 34760779c8ec..dcb4009e2f17 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -277,6 +277,11 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,	\
 #define TARGET_NR__llseek TARGET_NR_llseek
 #endif
 
+/* some platforms need to mask more bits than just TARGET_O_NONBLOCK */
+#ifndef TARGET_O_NONBLOCK_MASK
+#define TARGET_O_NONBLOCK_MASK TARGET_O_NONBLOCK
+#endif
+
 #define __NR_sys_gettid __NR_gettid
 _syscall0(int, sys_gettid)
 
@@ -7777,7 +7782,7 @@ static abi_long do_signalfd4(int fd, abi_long mask, int flags)
     sigset_t host_mask;
     abi_long ret;
 
-    if (flags & ~(TARGET_O_NONBLOCK | TARGET_O_CLOEXEC)) {
+    if (flags & ~(TARGET_O_NONBLOCK_MASK | TARGET_O_CLOEXEC)) {
         return -TARGET_EINVAL;
     }
     if (!lock_user_struct(VERIFY_READ, target_mask, mask, 1)) {
@@ -12566,7 +12571,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
 #if defined(TARGET_NR_eventfd2)
     case TARGET_NR_eventfd2:
     {
-        int host_flags = arg2 & (~(TARGET_O_NONBLOCK | TARGET_O_CLOEXEC));
+        int host_flags = arg2 & (~(TARGET_O_NONBLOCK_MASK | TARGET_O_CLOEXEC));
         if (arg2 & TARGET_O_NONBLOCK) {
             host_flags |= O_NONBLOCK;
         }
-- 
2.29.2



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

* [PULL 07/13] linux-user: Fix loading of BSS segments
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (5 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 06/13] linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 08/13] linux-user/mmap: Avoid asserts for out of range mremap calls Laurent Vivier
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Giuseppe Musacchio, Laurent Vivier

From: Giuseppe Musacchio <thatlemon@gmail.com>

Some ELF binaries encode the .bss section as an extension of the data
ones by setting the segment p_memsz > p_filesz. Some other binaries take
a different route and encode it as a stand-alone PT_LOAD segment with
p_filesz = 0 and p_memsz > 0.

Both the encodings are actually correct per ELF specification but the
ELF loader had some troubles in handling the former: with the old logic
it was very likely to get Qemu to crash in zero_bss when trying to
access unmapped memory.

zero_bss isn't meant to allocate whole zero-filled segments but to
"complete" a previously mapped segment with the needed zero bits.

The fix is pretty simple, if the segment is completely zero-filled we
simply allocate one or more pages (according to p_memsz) and avoid
calling zero_bss altogether.

Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com>
Message-Id: <c9106487-dc4d-120a-bd48-665b3c617287@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/elfload.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index a64050713f28..f5bd4076fcf5 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2805,14 +2805,16 @@ static void load_elf_image(const char *image_name, int image_fd,
             vaddr = load_bias + eppnt->p_vaddr;
             vaddr_po = TARGET_ELF_PAGEOFFSET(vaddr);
             vaddr_ps = TARGET_ELF_PAGESTART(vaddr);
-            vaddr_len = TARGET_ELF_PAGELENGTH(eppnt->p_filesz + vaddr_po);
+
+            vaddr_ef = vaddr + eppnt->p_filesz;
+            vaddr_em = vaddr + eppnt->p_memsz;
 
             /*
-             * Some segments may be completely empty without any backing file
-             * segment, in that case just let zero_bss allocate an empty buffer
-             * for it.
+             * Some segments may be completely empty, with a non-zero p_memsz
+             * but no backing file segment.
              */
             if (eppnt->p_filesz != 0) {
+                vaddr_len = TARGET_ELF_PAGELENGTH(eppnt->p_filesz + vaddr_po);
                 error = target_mmap(vaddr_ps, vaddr_len, elf_prot,
                                     MAP_PRIVATE | MAP_FIXED,
                                     image_fd, eppnt->p_offset - vaddr_po);
@@ -2820,14 +2822,22 @@ static void load_elf_image(const char *image_name, int image_fd,
                 if (error == -1) {
                     goto exit_mmap;
                 }
-            }
 
-            vaddr_ef = vaddr + eppnt->p_filesz;
-            vaddr_em = vaddr + eppnt->p_memsz;
+                /*
+                 * If the load segment requests extra zeros (e.g. bss), map it.
+                 */
+                if (eppnt->p_filesz < eppnt->p_memsz) {
+                    zero_bss(vaddr_ef, vaddr_em, elf_prot);
+                }
+            } else if (eppnt->p_memsz != 0) {
+                vaddr_len = TARGET_ELF_PAGELENGTH(eppnt->p_memsz + vaddr_po);
+                error = target_mmap(vaddr_ps, vaddr_len, elf_prot,
+                                    MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS,
+                                    -1, 0);
 
-            /* If the load segment requests extra zeros (e.g. bss), map it.  */
-            if (vaddr_ef < vaddr_em) {
-                zero_bss(vaddr_ef, vaddr_em, elf_prot);
+                if (error == -1) {
+                    goto exit_mmap;
+                }
             }
 
             /* Find the full program boundaries.  */
-- 
2.29.2



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

* [PULL 08/13] linux-user/mmap: Avoid asserts for out of range mremap calls
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (6 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 07/13] linux-user: Fix loading of BSS segments Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets Laurent Vivier
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Richard Purdie, Laurent Vivier

From: Richard Purdie <richard.purdie@linuxfoundation.org>

If mremap() is called without the MREMAP_MAYMOVE flag with a start address
just before the end of memory (reserved_va) where new_size would exceed
it (and GUEST_ADDR_MAX), the assert(end - 1 <= GUEST_ADDR_MAX) in 
page_set_flags() would trigger.

Add an extra guard to the guest_range_valid() checks to prevent this and
avoid asserting binaries when reserved_va is set.

This meant a bug I was seeing locally now gives the same behaviour 
regardless of whether reserved_va is set or not.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Message-Id: <70c46e7b999bafbb01d54bfafd44b420d0b782e9.camel@linuxfoundation.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/mmap.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 810653c50357..1c9faef47699 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -724,7 +724,9 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
 
     if (!guest_range_valid(old_addr, old_size) ||
         ((flags & MREMAP_FIXED) &&
-         !guest_range_valid(new_addr, new_size))) {
+         !guest_range_valid(new_addr, new_size)) ||
+        ((flags & MREMAP_MAYMOVE) == 0 &&
+         !guest_range_valid(old_addr, new_size))) {
         errno = ENOMEM;
         return -1;
     }
-- 
2.29.2



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

* [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets.
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (7 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 08/13] linux-user/mmap: Avoid asserts for out of range mremap calls Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 10/13] linux-user: add TARGET_SO_{DOMAIN,PROTOCOL} Laurent Vivier
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Stefan, Laurent Vivier

From: Stefan <stefan-guix@vodafonemail.de>

The sizeof(struct ifreq) is 40 for 64 bit and 32 for 32 bit architectures.
This structure contains a union of other structures, of which struct ifmap
is the biggest for 64 bit architectures. Calling ioclt(…, SIOCGIFCONF, …)
fills a struct sockaddr of that union, and do_ioctl_ifconf() only considered
that struct sockaddr for the size of the union, which has the same size as
struct ifmap on 32 bit architectures. So do_ioctl_ifconf() assumed a wrong
size of 32 for struct ifreq instead of the correct size of 40 on 64 bit
architectures.

The fix makes do_ioctl_ifconf() handle struct ifmap as the biggest part of
the union, treating struct ifreq with the correct size.

Signed-off-by: Stefan <stefan-guix@vodafonemail.de>
Message-Id: <60AA0765-53DD-43D1-A3D2-75F1778526F6@vodafonemail.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/syscall.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index dcb4009e2f17..6fea00869e6b 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4914,6 +4914,7 @@ static abi_long do_ioctl_ifconf(const IOCTLEntry *ie, uint8_t *buf_temp,
     struct ifconf *host_ifconf;
     uint32_t outbufsz;
     const argtype ifreq_arg_type[] = { MK_STRUCT(STRUCT_sockaddr_ifreq) };
+    const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };
     int target_ifreq_size;
     int nb_ifreq;
     int free_buf = 0;
@@ -4937,7 +4938,7 @@ static abi_long do_ioctl_ifconf(const IOCTLEntry *ie, uint8_t *buf_temp,
 
     host_ifconf = (struct ifconf *)(unsigned long)buf_temp;
     target_ifc_buf = (abi_long)(unsigned long)host_ifconf->ifc_buf;
-    target_ifreq_size = thunk_type_size(ifreq_arg_type, 0);
+    target_ifreq_size = thunk_type_size(ifreq_max_type, 0);
 
     if (target_ifc_buf != 0) {
         target_ifc_len = host_ifconf->ifc_len;
-- 
2.29.2



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

* [PULL 10/13] linux-user: add TARGET_SO_{DOMAIN,PROTOCOL}
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (8 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 11/13] linux-user: target: signal: Support TARGET_SS_AUTODISARM Laurent Vivier
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jason A. Donenfeld, Laurent Vivier

From: "Jason A. Donenfeld" <Jason@zx2c4.com>

These were defined for other platforms but mistakenly left out of mips
and generic, so this commit adds them to the places missing. Then it
makes them be translated in getsockopt.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210204153925.2030606-1-Jason@zx2c4.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/generic/sockbits.h | 3 +++
 linux-user/mips/sockbits.h    | 2 ++
 linux-user/syscall.c          | 6 ++++++
 3 files changed, 11 insertions(+)

diff --git a/linux-user/generic/sockbits.h b/linux-user/generic/sockbits.h
index e44733c601a4..b3b4a8e44c6d 100644
--- a/linux-user/generic/sockbits.h
+++ b/linux-user/generic/sockbits.h
@@ -55,4 +55,7 @@
 #define TARGET_SO_ACCEPTCONN           30
 
 #define TARGET_SO_PEERSEC              31
+
+#define TARGET_SO_PROTOCOL             38
+#define TARGET_SO_DOMAIN               39
 #endif
diff --git a/linux-user/mips/sockbits.h b/linux-user/mips/sockbits.h
index 0f022cd598a9..562cad88e2f8 100644
--- a/linux-user/mips/sockbits.h
+++ b/linux-user/mips/sockbits.h
@@ -40,6 +40,8 @@
 #define TARGET_SO_SNDTIMEO     0x1005  /* send timeout */
 #define TARGET_SO_RCVTIMEO     0x1006  /* receive timeout */
 #define TARGET_SO_ACCEPTCONN   0x1009
+#define TARGET_SO_PROTOCOL     0x1028  /* protocol type */
+#define TARGET_SO_DOMAIN       0x1029  /* domain/socket family */
 
 /* linux-specific, might as well be the same as on i386 */
 #define TARGET_SO_NO_CHECK     11
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6fea00869e6b..36b090105522 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -2837,6 +2837,12 @@ get_timeout:
         case TARGET_SO_ACCEPTCONN:
             optname = SO_ACCEPTCONN;
             goto int_case;
+        case TARGET_SO_PROTOCOL:
+            optname = SO_PROTOCOL;
+            goto int_case;
+        case TARGET_SO_DOMAIN:
+            optname = SO_DOMAIN;
+            goto int_case;
         default:
             goto int_case;
         }
-- 
2.29.2



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

* [PULL 11/13] linux-user: target: signal: Support TARGET_SS_AUTODISARM
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (9 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 10/13] linux-user: add TARGET_SO_{DOMAIN,PROTOCOL} Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 12/13] docs/user: Remove outdated 'Quick Start' section Laurent Vivier
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Chen Gang, Laurent Vivier

From: Chen Gang <chengang@emindsoft.com.cn>

Add definitions to pass building.

Signed-off-by: Chen Gang <chengang@emindsoft.com.cn>
Message-Id: <20201008043105.21058-1-chengang@emindsoft.com.cn>
[lv: added the definitions in linux-user/generic/signal.h too]
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/alpha/target_signal.h  | 6 ++++++
 linux-user/generic/signal.h       | 6 ++++++
 linux-user/hppa/target_signal.h   | 5 +++++
 linux-user/mips/target_signal.h   | 6 ++++++
 linux-user/mips64/target_signal.h | 5 +++++
 linux-user/sparc/target_signal.h  | 6 ++++++
 6 files changed, 34 insertions(+)

diff --git a/linux-user/alpha/target_signal.h b/linux-user/alpha/target_signal.h
index b83797281c32..0b90d3a89701 100644
--- a/linux-user/alpha/target_signal.h
+++ b/linux-user/alpha/target_signal.h
@@ -92,4 +92,10 @@ typedef struct target_sigaltstack {
 #define TARGET_GEN_SUBRNG7     -25
 
 #define TARGET_ARCH_HAS_SETUP_FRAME
+
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #endif /* ALPHA_TARGET_SIGNAL_H */
diff --git a/linux-user/generic/signal.h b/linux-user/generic/signal.h
index e1083f8fba07..943bc1a1e220 100644
--- a/linux-user/generic/signal.h
+++ b/linux-user/generic/signal.h
@@ -54,4 +54,10 @@
 #define TARGET_SIG_BLOCK          0    /* for blocking signals */
 #define TARGET_SIG_UNBLOCK        1    /* for unblocking signals */
 #define TARGET_SIG_SETMASK        2    /* for setting the signal mask */
+
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #endif
diff --git a/linux-user/hppa/target_signal.h b/linux-user/hppa/target_signal.h
index c52a3ea5794b..7f525362e91a 100644
--- a/linux-user/hppa/target_signal.h
+++ b/linux-user/hppa/target_signal.h
@@ -66,4 +66,9 @@ typedef struct target_sigaltstack {
 #define TARGET_MINSIGSTKSZ	2048
 #define TARGET_SIGSTKSZ		8192
 
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #endif /* HPPA_TARGET_SIGNAL_H */
diff --git a/linux-user/mips/target_signal.h b/linux-user/mips/target_signal.h
index fa4084a99dcd..d521765f6b2c 100644
--- a/linux-user/mips/target_signal.h
+++ b/linux-user/mips/target_signal.h
@@ -73,4 +73,10 @@ typedef struct target_sigaltstack {
 /* compare linux/arch/mips/kernel/signal.c:setup_frame() */
 #define TARGET_ARCH_HAS_SETUP_FRAME
 #endif
+
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #endif /* MIPS_TARGET_SIGNAL_H */
diff --git a/linux-user/mips64/target_signal.h b/linux-user/mips64/target_signal.h
index f1f0ed7f7067..d857c55e4c6c 100644
--- a/linux-user/mips64/target_signal.h
+++ b/linux-user/mips64/target_signal.h
@@ -67,6 +67,11 @@ typedef struct target_sigaltstack {
 #define TARGET_MINSIGSTKSZ    2048
 #define TARGET_SIGSTKSZ       8192
 
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #if defined(TARGET_ABI_MIPSO32)
 /* compare linux/arch/mips/kernel/signal.c:setup_frame() */
 #define TARGET_ARCH_HAS_SETUP_FRAME
diff --git a/linux-user/sparc/target_signal.h b/linux-user/sparc/target_signal.h
index 1b10d1490fc9..911a3f5af55e 100644
--- a/linux-user/sparc/target_signal.h
+++ b/linux-user/sparc/target_signal.h
@@ -68,4 +68,10 @@ typedef struct target_sigaltstack {
 #define TARGET_SIGSTKSZ		16384
 
 #define TARGET_ARCH_HAS_SETUP_FRAME
+
+/* bit-flags */
+#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
+/* mask for all SS_xxx flags */
+#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM
+
 #endif /* SPARC_TARGET_SIGNAL_H */
-- 
2.29.2



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

* [PULL 12/13] docs/user: Remove outdated 'Quick Start' section
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (10 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 11/13] linux-user: target: signal: Support TARGET_SS_AUTODISARM Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 12:45 ` [PULL 13/13] linux-user/mips: Support the n32 ABI for the R5900 Laurent Vivier
  2021-02-15 13:40 ` [PULL 00/13] Linux user for 6.0 patches Philippe Mathieu-Daudé
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Maydell, Richard Henderson, Laurent Vivier

From: Peter Maydell <peter.maydell@linaro.org>

The 'Quick Start' section of the userspace emulator documentation is
very old and outdated. In particular:
 - it suggests running x86-on-x86 emulation, which is the least
   interesting possible use case
 - it recommends that users download tarballs of guest binaries
   from the QEMU web page which we no longer provide there

There's nothing salvageable here; delete it all.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201122000131.18487-1-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 docs/user/main.rst | 61 ----------------------------------------------
 1 file changed, 61 deletions(-)

diff --git a/docs/user/main.rst b/docs/user/main.rst
index 8dfe232a3af1..e08d4be63b71 100644
--- a/docs/user/main.rst
+++ b/docs/user/main.rst
@@ -45,67 +45,6 @@ emulator.
 Linux User space emulator
 -------------------------
 
-Quick Start
-~~~~~~~~~~~
-
-In order to launch a Linux process, QEMU needs the process executable
-itself and all the target (x86) dynamic libraries used by it.
-
--  On x86, you can just try to launch any process by using the native
-   libraries::
-
-      qemu-i386 -L / /bin/ls
-
-   ``-L /`` tells that the x86 dynamic linker must be searched with a
-   ``/`` prefix.
-
--  Since QEMU is also a linux process, you can launch QEMU with QEMU
-   (NOTE: you can only do that if you compiled QEMU from the sources)::
-
-      qemu-i386 -L / qemu-i386 -L / /bin/ls
-
--  On non x86 CPUs, you need first to download at least an x86 glibc
-   (``qemu-runtime-i386-XXX-.tar.gz`` on the QEMU web page). Ensure that
-   ``LD_LIBRARY_PATH`` is not set::
-
-      unset LD_LIBRARY_PATH
-
-   Then you can launch the precompiled ``ls`` x86 executable::
-
-      qemu-i386 tests/i386/ls
-
-   You can look at ``scripts/qemu-binfmt-conf.sh`` so that QEMU is
-   automatically launched by the Linux kernel when you try to launch x86
-   executables. It requires the ``binfmt_misc`` module in the Linux
-   kernel.
-
--  The x86 version of QEMU is also included. You can try weird things
-   such as::
-
-      qemu-i386 /usr/local/qemu-i386/bin/qemu-i386 \
-                /usr/local/qemu-i386/bin/ls-i386
-
-Wine launch
-~~~~~~~~~~~
-
--  Ensure that you have a working QEMU with the x86 glibc distribution
-   (see previous section). In order to verify it, you must be able to
-   do::
-
-      qemu-i386 /usr/local/qemu-i386/bin/ls-i386
-
--  Download the binary x86 Wine install (``qemu-XXX-i386-wine.tar.gz``
-   on the QEMU web page).
-
--  Configure Wine on your account. Look at the provided script
-   ``/usr/local/qemu-i386/bin/wine-conf.sh``. Your previous
-   ``${HOME}/.wine`` directory is saved to ``${HOME}/.wine.org``.
-
--  Then you can try the example ``putty.exe``::
-
-      qemu-i386 /usr/local/qemu-i386/wine/bin/wine \
-                /usr/local/qemu-i386/wine/c/Program\ Files/putty.exe
-
 Command line options
 ~~~~~~~~~~~~~~~~~~~~
 
-- 
2.29.2



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

* [PULL 13/13] linux-user/mips: Support the n32 ABI for the R5900
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (11 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 12/13] docs/user: Remove outdated 'Quick Start' section Laurent Vivier
@ 2021-02-15 12:45 ` Laurent Vivier
  2021-02-15 13:40 ` [PULL 00/13] Linux user for 6.0 patches Philippe Mathieu-Daudé
  13 siblings, 0 replies; 16+ messages in thread
From: Laurent Vivier @ 2021-02-15 12:45 UTC (permalink / raw)
  To: qemu-devel; +Cc: Fredrik Noring, Laurent Vivier, Philippe Mathieu-Daudé

From: Fredrik Noring <noring@nocrew.org>

Recognise the R5900, which reports itself as MIPS III, as a 64-bit CPU
supporting the n32 ABI.

Signed-off-by: Fredrik Noring <noring@nocrew.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <5bea109f0c140da6a821aa7f9705d4b3717e86dc.1541701393.git.noring@nocrew.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/mips64/target_elf.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/linux-user/mips64/target_elf.h b/linux-user/mips64/target_elf.h
index ec55d8542ae1..5f2f2df29f7f 100644
--- a/linux-user/mips64/target_elf.h
+++ b/linux-user/mips64/target_elf.h
@@ -12,6 +12,9 @@ static inline const char *cpu_get_model(uint32_t eflags)
     if ((eflags & EF_MIPS_ARCH) == EF_MIPS_ARCH_64R6) {
         return "I6400";
     }
+    if ((eflags & EF_MIPS_MACH) == EF_MIPS_MACH_5900) {
+        return "R5900";
+    }
     return "5KEf";
 }
 #endif
-- 
2.29.2



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

* Re: [PULL 00/13] Linux user for 6.0 patches
  2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
                   ` (12 preceding siblings ...)
  2021-02-15 12:45 ` [PULL 13/13] linux-user/mips: Support the n32 ABI for the R5900 Laurent Vivier
@ 2021-02-15 13:40 ` Philippe Mathieu-Daudé
  2021-02-15 14:15   ` Peter Maydell
  13 siblings, 1 reply; 16+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-15 13:40 UTC (permalink / raw)
  To: Laurent Vivier, qemu-devel, Stefan

On 2/15/21 1:45 PM, Laurent Vivier wrote:
> The following changes since commit f4ceebdec531243dd72e38f85f085287e6e63258:
> 
>   Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-6.0-pull-request=
> ' into staging (2021-02-13 18:16:43 +0000)
> 
> are available in the Git repository at:
> 
>   git://github.com/vivier/qemu.git tags/linux-user-for-6.0-pull-request
> 
> for you to fetch changes up to b8f91fd49c5c6993e06f0cd7bf024d176051320e:
> 
>   linux-user/mips: Support the n32 ABI for the R5900 (2021-02-15 12:10:03 +01=
> 00)
> 
> ----------------------------------------------------------------
> Pull request linux-user 20210215
> 
> mips o32 ABI update / R5900 update
> Remove outdated info from docs
> Add definitions of TARGET_SS_AUTODISARM, TARGET_SO_DOMAIN, TARGET_SO_PROTOCOL
> Fix ioctl(), waitid(), mremap(), signalfd4(), eventfd2()
> Fix O_NONBLOCK (hppa), __O_TMPFILE (hppa/alpha)
> 
> ----------------------------------------------------------------
> 
> Alistair Francis (1):
>   linux-user/signal: Decode waitid si_code
> 
> Chen Gang (1):
>   linux-user: target: signal: Support TARGET_SS_AUTODISARM
> 
> Fredrik Noring (1):
>   linux-user/mips: Support the n32 ABI for the R5900
> 
> Giuseppe Musacchio (1):
>   linux-user: Fix loading of BSS segments
> 
> Helge Deller (3):
>   linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha
>   linux-user: fix O_NONBLOCK usage for hppa target
>   linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls
> 
> Jason A. Donenfeld (1):
>   linux-user: add TARGET_SO_{DOMAIN,PROTOCOL}
> 
> Peter Maydell (1):
>   docs/user: Remove outdated 'Quick Start' section
> 
> Philippe Mathieu-Daud=C3=A9 (2):
>   linux-user/mips64: Restore setup_frame() for o32 ABI
>   linux-user/mips64: Support o32 ABI syscalls
> 
> Richard Purdie (1):
>   linux-user/mmap: Avoid asserts for out of range mremap calls
> 
> Stefan (1):
>   linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets.

Not sure this is very important, but from the QEMU guidelines
about submitting patches [*]: "Please use your real name to sign
a patch (not an alias or acronym)."

[*]
https://wiki.qemu.org/Contribute/SubmitAPatch#Patch_emails_must_include_a_Signed-off-by:_line



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

* Re: [PULL 00/13] Linux user for 6.0 patches
  2021-02-15 13:40 ` [PULL 00/13] Linux user for 6.0 patches Philippe Mathieu-Daudé
@ 2021-02-15 14:15   ` Peter Maydell
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Maydell @ 2021-02-15 14:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: Stefan, Laurent Vivier, QEMU Developers

On Mon, 15 Feb 2021 at 13:44, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>
> On 2/15/21 1:45 PM, Laurent Vivier wrote:
> > ----------------------------------------------------------------
> > Pull request linux-user 20210215
> >
> > mips o32 ABI update / R5900 update
> > Remove outdated info from docs
> > Add definitions of TARGET_SS_AUTODISARM, TARGET_SO_DOMAIN, TARGET_SO_PROTOCOL
> > Fix ioctl(), waitid(), mremap(), signalfd4(), eventfd2()
> > Fix O_NONBLOCK (hppa), __O_TMPFILE (hppa/alpha)
> >
> > ----------------------------------------------------------------
> > Stefan (1):
> >   linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets.
>
> Not sure this is very important, but from the QEMU guidelines
> about submitting patches [*]: "Please use your real name to sign
> a patch (not an alias or acronym)."
>
> [*]
> https://wiki.qemu.org/Contribute/SubmitAPatch#Patch_emails_must_include_a_Signed-off-by:_line

Yeah, that's not ideal. Unfortunately I just pushed this merge to
master about 5 seconds before I read this... In this specific case
this is only a two-line patch, so it's not a big deal, but in general,
yes, we require full names, because the signed-off-by tags are
part of the legal tracking of who has contributed. (Assuming Stefan
has a surname, of course; I have a coworker who only has a single
name.)

Anyway, applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/6.0
for any user-visible changes.

-- PMM


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

end of thread, other threads:[~2021-02-15 14:17 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-15 12:45 [PULL 00/13] Linux user for 6.0 patches Laurent Vivier
2021-02-15 12:45 ` [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI Laurent Vivier
2021-02-15 12:45 ` [PULL 02/13] linux-user/mips64: Support o32 ABI syscalls Laurent Vivier
2021-02-15 12:45 ` [PULL 03/13] linux-user/signal: Decode waitid si_code Laurent Vivier
2021-02-15 12:45 ` [PULL 04/13] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha Laurent Vivier
2021-02-15 12:45 ` [PULL 05/13] linux-user: fix O_NONBLOCK usage for hppa target Laurent Vivier
2021-02-15 12:45 ` [PULL 06/13] linux-user: fix O_NONBLOCK in signalfd4() and eventfd2() syscalls Laurent Vivier
2021-02-15 12:45 ` [PULL 07/13] linux-user: Fix loading of BSS segments Laurent Vivier
2021-02-15 12:45 ` [PULL 08/13] linux-user/mmap: Avoid asserts for out of range mremap calls Laurent Vivier
2021-02-15 12:45 ` [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets Laurent Vivier
2021-02-15 12:45 ` [PULL 10/13] linux-user: add TARGET_SO_{DOMAIN,PROTOCOL} Laurent Vivier
2021-02-15 12:45 ` [PULL 11/13] linux-user: target: signal: Support TARGET_SS_AUTODISARM Laurent Vivier
2021-02-15 12:45 ` [PULL 12/13] docs/user: Remove outdated 'Quick Start' section Laurent Vivier
2021-02-15 12:45 ` [PULL 13/13] linux-user/mips: Support the n32 ABI for the R5900 Laurent Vivier
2021-02-15 13:40 ` [PULL 00/13] Linux user for 6.0 patches Philippe Mathieu-Daudé
2021-02-15 14:15   ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.