qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 5f9cee: linux-user: fix O_TMPFILE handling


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 5f9cee: linux-user: fix O_TMPFILE handling
Date: Thu, 19 Oct 2017 07:20:42 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5f9cee46cd4ec4600e1a2fdcca20adcf30348f9e
      
https://github.com/qemu/qemu/commit/5f9cee46cd4ec4600e1a2fdcca20adcf30348f9e
  Author: Riku Voipio <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/strace.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: fix O_TMPFILE handling

Since O_TMPFILE might differ between guest and host,
add it to the bitmask_transtbl. While at it, fix the definitions
of O_DIRECTORY etc which should arm32 according to kernel sources.

This fixes open14 and openat03 ltp testcases. Fixes:

https://bugs.launchpad.net/qemu/+bug/1709170


  Commit: ee46a46b02e58d82ba27943746f6e7e1ffc1a173
      
https://github.com/qemu/qemu/commit/ee46a46b02e58d82ba27943746f6e7e1ffc1a173
  Author: Laurent Vivier <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/signal.c

  Log Message:
  -----------
  target/m68k,linux-user: manage FP registers in ucontext

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: dd13df011d6e28beb16ef9e4548cd55fee84cb08
      
https://github.com/qemu/qemu/commit/dd13df011d6e28beb16ef9e4548cd55fee84cb08
  Author: Carlo Marcelo Arenas Belón <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: remove duplicate break in syscall

likely introduced in 3532fa7402cda16f7b95261b0339c58630051f0b

Signed-off-by: Carlo Marcelo Arenas Belón <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: e568f9df086965813a318ff0558782ba90e59c33
      
https://github.com/qemu/qemu/commit/e568f9df086965813a318ff0558782ba90e59c33
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests

The 32-bit ARM validate_guest_space() check tests whether the
specified -R value leaves enough space for us to put the
commpage in at 0xffff0f00. However it was incorrectly doing
a <= check for the check against (guest_base + guest_size),
which meant that it wasn't permitting the guest space to
butt right up against the commpage.

Fix the comparison, so that -R values all the way up to 0xffff0000
work correctly.

Reviewed-by: Emilio G. Cota <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: de258eb07db6cf893ef1bfad8c0cedc0b983db55
      
https://github.com/qemu/qemu/commit/de258eb07db6cf893ef1bfad8c0cedc0b983db55
  Author: Richard Henderson <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  tcg: Fix off-by-one in assert in page_set_flags

Most of the users of page_set_flags offset (page, page + len) as
the end points.  One might consider this an error, since the other
users do supply an endpoint as the last byte of the region.

However, the first thing that page_set_flags does is round end UP
to the start of the next page.  Which means computing page + len - 1
is in the end pointless.  Therefore, accept this usage and do not
assert when given the exact size of the vm as the endpoint.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 18e80c55bb6ec17c05ec0ba717ec83933c2bfc07
      
https://github.com/qemu/qemu/commit/18e80c55bb6ec17c05ec0ba717ec83933c2bfc07
  Author: Richard Henderson <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/arm/target_cpu.h
    M linux-user/main.c
    M target/mips/mips-defs.h
    M target/nios2/cpu.h

  Log Message:
  -----------
  linux-user: Tidy and enforce reserved_va initialization

We had a check using TARGET_VIRT_ADDR_SPACE_BITS to make sure
that the allocation coming in from the command-line option was
not too large, but that didn't include target-specific knowledge
about other restrictions on user-space.

Remove several target-specific hacks in linux-user/main.c.

For MIPS and Nios, we can replace them with proper adjustments
to the respective target's TARGET_VIRT_ADDR_SPACE_BITS definition.

For ARM, we had no existing ifdef but I suspect that the current
default value of 0xf7000000 was chosen with this in mind.  Define
a workable value in linux-user/arm/, and also document why the
special case is required.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: cc1b3960a1a54125d2c87719fa945179bffbae68
      
https://github.com/qemu/qemu/commit/cc1b3960a1a54125d2c87719fa945179bffbae68
  Author: Richard Henderson <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M target/sh4/cpu.h

  Log Message:
  -----------
  linux-user/sh4: Reduce TARGET_VIRT_ADDR_SPACE_BITS to 31

The real kernel has TASK_SIZE as 0x7c000000, due to quirks with
a couple of SH parts.  But nominally user-space is limited to 2GB.

Signed-off-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 1847b7ba7015a7448079c2d8fd7187726c33c707
      
https://github.com/qemu/qemu/commit/1847b7ba7015a7448079c2d8fd7187726c33c707
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-16 (Mon, 16 Oct 2017)

  Changed paths:
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: Fix target FS_IOC_GETFLAGS and FS_IOC_SETFLAGS numbers

We were defining TARGET_FS_IOC_GETFLAGS and TARGET_FS_IOC_SETFLAGS
using the host 'long' type in the size field, which meant that
they had the wrong values if the host and guest had different
sized longs. Switch to abi_long instead.

This fixes a bug where these ioctls don't work on 32-bit guests
on 64-bit hosts (and makes the LTP test 'setxattr03' pass
where it did not previously.)

Reported-by: pgndev <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: 8423fa9010f2cadd50e8c21a20c62dc5b977704c
      
https://github.com/qemu/qemu/commit/8423fa9010f2cadd50e8c21a20c62dc5b977704c
  Author: Alex Bennée <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user/main: support dfilter

This adds the -dfilter support to linux-user. There is a minor
checkpatch complaint about formatting which I've ignored for aesthetic
reasons.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: f443e3960d9d3340dd286e5fc0b661bb165a8b22
      
https://github.com/qemu/qemu/commit/f443e3960d9d3340dd286e5fc0b661bb165a8b22
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M linux-user/syscall_defs.h

  Log Message:
  -----------
  linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOCPOS values

The TARGET_MTIOCTOP/TARGET_MTIOCGET/TARGET_MTIOCPOS values
were being defined in terms of host struct types, but
these structures are such that their size might differ
on different hosts. Switch to using a target struct
definition instead.

Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>


  Commit: f2a48d696c12aaac12993364371daae9f6233c37
      
https://github.com/qemu/qemu/commit/f2a48d696c12aaac12993364371daae9f6233c37
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-19 (Thu, 19 Oct 2017)

  Changed paths:
    M accel/tcg/translate-all.c
    M linux-user/arm/target_cpu.h
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/signal.c
    M linux-user/strace.c
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    M target/mips/mips-defs.h
    M target/nios2/cpu.h
    M target/sh4/cpu.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20171018' 
into staging

Linux-user updates for Qemu 2.11

# gpg: Signature made Wed 18 Oct 2017 13:20:14 BST
# gpg:                using RSA key 0xB44890DEDE3C9BC0
# gpg: Good signature from "Riku Voipio <address@hidden>"
# gpg:                 aka "Riku Voipio <address@hidden>"
# Primary key fingerprint: FF82 03C8 C391 98AE 0581  41EF B448 90DE DE3C 9BC0

* remotes/riku/tags/pull-linux-user-20171018:
  linux-user: Fix TARGET_MTIOCTOP/MTIOCGET/MTIOCPOS values
  linux-user/main: support dfilter
  linux-user: Fix target FS_IOC_GETFLAGS and FS_IOC_SETFLAGS numbers
  linux-user/sh4: Reduce TARGET_VIRT_ADDR_SPACE_BITS to 31
  linux-user: Tidy and enforce reserved_va initialization
  tcg: Fix off-by-one in assert in page_set_flags
  linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests
  linux-user: remove duplicate break in syscall
  target/m68k,linux-user: manage FP registers in ucontext
  linux-user: fix O_TMPFILE handling

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/ba6f0fc25e3c...f2a48d696c12

reply via email to

[Prev in Thread] Current Thread [Next in Thread]