qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4ced99: linux-user: Fix structure target_ucon


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 4ced99: linux-user: Fix structure target_ucontext for MIPS
Date: Fri, 19 Jul 2019 02:26:32 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4ced996ffe3f08883fa5bd423bcfafdfd6f13189
      
https://github.com/qemu/qemu/commit/4ced996ffe3f08883fa5bd423bcfafdfd6f13189
  Author: Aleksandar Markovic <address@hidden>
  Date:   2019-07-16 (Tue, 16 Jul 2019)

  Changed paths:
    M linux-user/mips/signal.c

  Log Message:
  -----------
  linux-user: Fix structure target_ucontext for MIPS

Structure ucontext for MIPS is defined in the following way in
Linux kernel:

(arch/mips/include/uapi/asm/ucontext.h, lines 54-64)

struct ucontext {
    /* Historic fields matching asm-generic */
    unsigned long       uc_flags;
    struct ucontext     *uc_link;
    stack_t             uc_stack;
    struct sigcontext   uc_mcontext;
    sigset_t            uc_sigmask;

    /* Extended context structures may follow ucontext */
    unsigned long long  uc_extcontext[0];
};

Fix the structure target_ucontext for MIPS to reflect the definition
above, except the correction for field uc_extcontext, which will
follow at some later time.

Fixes: 94c5495d

Reported-by: Dragan Mladjenovic <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>


  Commit: 0acd4ab849827bbc20402e01c9da088207c0d236
      
https://github.com/qemu/qemu/commit/0acd4ab849827bbc20402e01c9da088207c0d236
  Author: Rémi Denis-Courmont <address@hidden>
  Date:   2019-07-18 (Thu, 18 Jul 2019)

  Changed paths:
    M include/exec/cpu_ldst.h
    M linux-user/qemu.h

  Log Message:
  -----------
  linux-user: check valid address in access_ok()

Fix a crash with LTP testsuite and aarch64:

  tst_test.c:1015: INFO: Timeout per run is 0h 05m 00s
  qemu-aarch64: .../qemu/accel/tcg/translate-all.c:2522: page_check_range: 
Assertion `start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS)' failed.
  qemu:handle_cpu_signal received signal outside vCPU context @ pc=0x60001554

page_check_range() should never be called with address outside the guest
address space. This patch adds a guest_addr_valid() check in access_ok()
to only call page_check_range() with a valid address.

Fixes: f6768aa1b4c6 ("target/arm: fix AArch64 virtual address space size")
Signed-off-by: Rémi Denis-Courmont <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>


  Commit: 6d5d5dde9adb5acb32e6b8e3dfbf47fff0f308d2
      
https://github.com/qemu/qemu/commit/6d5d5dde9adb5acb32e6b8e3dfbf47fff0f308d2
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2019-07-19 (Fri, 19 Jul 2019)

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

  Log Message:
  -----------
  linux-user: fix to handle variably sized SIOCGSTAMP with new kernels

The SIOCGSTAMP symbol was previously defined in the
asm-generic/sockios.h header file. QEMU sees that header
indirectly via sys/socket.h

In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115
the asm-generic/sockios.h header no longer defines SIOCGSTAMP.
Instead it provides only SIOCGSTAMP_OLD, which only uses a
32-bit time_t on 32-bit architectures.

The linux/sockios.h header then defines SIOCGSTAMP using
either SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. If
SIOCGSTAMP_NEW is used, then the tv_sec field is 64-bit even
on 32-bit architectures

To cope with this we must now convert the old and new type from
the target to the host one.

Signed-off-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Arnd Bergmann <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>


  Commit: 0274f45bdef73283f2c213610f11d4e5dcba43b6
      
https://github.com/qemu/qemu/commit/0274f45bdef73283f2c213610f11d4e5dcba43b6
  Author: Peter Maydell <address@hidden>
  Date:   2019-07-19 (Fri, 19 Jul 2019)

  Changed paths:
    M include/exec/cpu_ldst.h
    M linux-user/ioctls.h
    M linux-user/mips/signal.c
    M linux-user/qemu.h
    M linux-user/syscall.c
    M linux-user/syscall_defs.h
    M linux-user/syscall_types.h

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/vivier2/tags/linux-user-for-4.1-pull-request' into staging

fix access_ok() to allow to run LTP on AARCH64,
fix SIOCGSTAMP with 5.2 kernel headers,
fix structure target_ucontext for MIPS

# gpg: Signature made Fri 19 Jul 2019 09:05:20 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Laurent Vivier <address@hidden>" [full]
# gpg:                 aka "Laurent Vivier <address@hidden>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <address@hidden>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-4.1-pull-request:
  linux-user: fix to handle variably sized SIOCGSTAMP with new kernels
  linux-user: check valid address in access_ok()
  linux-user: Fix structure target_ucontext for MIPS

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


Compare: https://github.com/qemu/qemu/compare/0b18cfb8f182...0274f45bdef7



reply via email to

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