[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 7f047d: linux-user: Restrict usage of sa_rest
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 7f047d: linux-user: Restrict usage of sa_restorer |
Date: |
Tue, 21 Nov 2017 03:19:24 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 7f047de18cf6cd51915d4fdbe1a7e66c38b45e98
https://github.com/qemu/qemu/commit/7f047de18cf6cd51915d4fdbe1a7e66c38b45e98
Author: Richard Henderson <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/signal.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: Restrict usage of sa_restorer
Reading and writing to an sa_restorer member that isn't supposed to
exist corrupts user memory. Introduce TARGET_ARCH_HAS_SA_RESTORER,
similar to the kernel's __ARCH_HAS_SA_RESTORER.
Reported-by: Helge Deller <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 2da6e76ccaf5c5aad4192fddaa2062480ad82345
https://github.com/qemu/qemu/commit/2da6e76ccaf5c5aad4192fddaa2062480ad82345
Author: Helge Deller <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user/hppa: Fix TARGET_SA_* defines
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Helge Deller <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: fc37dcfe1a049090e72fd3f4810f0b221cc5399c
https://github.com/qemu/qemu/commit/fc37dcfe1a049090e72fd3f4810f0b221cc5399c
Author: Richard Henderson <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/hppa/target_cpu.h
Log Message:
-----------
linux-user/hppa: Fix cpu_clone_regs
By failing to return from the syscall in the child, the child
issues another clone syscall and hilarity ensues.
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 92afb153103c38c1ccc9d4c34512cf1767e676c5
https://github.com/qemu/qemu/commit/92afb153103c38c1ccc9d4c34512cf1767e676c5
Author: Helge Deller <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/hppa/syscall_nr.h
Log Message:
-----------
linux-user/hppa: Fix typo for TARGET_NR_epoll_wait
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Helge Deller <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: e65be6a7cfe5c991d97ef259c6a88e99ca65e875
https://github.com/qemu/qemu/commit/e65be6a7cfe5c991d97ef259c6a88e99ca65e875
Author: Helge Deller <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user/hppa: Fix TARGET_MAP_TYPE
TARGET_MAP_TYPE needs to be 0x03 instead of 0x0f on the hppa
architecture, otherwise it conflicts with MAP_FIXED which is 0x04.
Signed-off-by: Helge Deller <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Message-ID: <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 3d60c84deaa11826ff0bc7599aeb73cad54c4fbf
https://github.com/qemu/qemu/commit/3d60c84deaa11826ff0bc7599aeb73cad54c4fbf
Author: Helge Deller <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user/hppa: Fix TARGET_F_RDLCK, TARGET_F_WRLCK, TARGET_F_UNLCK
Signed-off-by: Helge Deller <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Message-ID: <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 541e1690420d293c1b09eeb128fac74e98cbef7a
https://github.com/qemu/qemu/commit/541e1690420d293c1b09eeb128fac74e98cbef7a
Author: Helge Deller <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: Handle TARGET_MAP_STACK and TARGET_MAP_HUGETLB
Add the missing defines and for TARGET_MAP_STACK and TARGET_MAP_HUGETLB
for alpha, mips, ppc, x86, hppa. Fix the mmap_flags translation table
to translate MAP_HUGETLB between host and target architecture, and to
drop MAP_STACK.
Signed-off-by: Helge Deller <address@hidden>
Message-Id: <address@hidden>
[rth: Drop MAP_STACK instead of translating it, since it is ignored
in the kernel anyway. Fix tabs to spaces.]
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 8bf8e9df4a7d82c7a47cc961c9cdee1615595de0
https://github.com/qemu/qemu/commit/8bf8e9df4a7d82c7a47cc961c9cdee1615595de0
Author: James Clarke <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user/syscall.c: Handle SH4's exceptional alignment for p{read, write}64
Fixes: https://bugs.launchpad.net/qemu/+bug/1716767
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-By: John Paul Adrian Glaubitz <address@hidden>
Signed-off-by: James Clarke <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: a4dd3d5172c951e05a7424f14c0f9372522b48f8
https://github.com/qemu/qemu/commit/a4dd3d5172c951e05a7424f14c0f9372522b48f8
Author: Emilio G. Cota <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: fix 'finshed' typo in comment
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: a8b154a637b586441bad42259a8a9b9619cd117c
https://github.com/qemu/qemu/commit/a8b154a637b586441bad42259a8a9b9619cd117c
Author: James Cowgill <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: return EINVAL from prctl(PR_*_SECCOMP)
If an application tries to install a seccomp filter using
prctl(PR_SET_SECCOMP), the filter is likely for the target instead of the host
architecture. This will probably cause qemu to be immediately killed when it
executes another syscall.
Prevent this from happening by returning EINVAL from both seccomp prctl
calls. This is the error returned by the kernel when seccomp support is
disabled.
Fixes: https://bugs.launchpad.net/qemu/+bug/1726394
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: James Cowgill <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: f2d34df3c1a88a2cf86eb0afc88c369d799ae431
https://github.com/qemu/qemu/commit/f2d34df3c1a88a2cf86eb0afc88c369d799ae431
Author: Peter Maydell <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/main.c
Log Message:
-----------
linux-user/s390x: Mask si_addr for SIGSEGV
For s390x, the address passed to a signal handler in the
siginfo_t si_addr field is masked (in the kernel this is done in
do_sigbus() and do_sigsegv() in arch/s390/mm/fault.c). Implement
this architecture-specific oddity in linux-user.
This is one of the issues described in
https://bugs.launchpad.net/qemu/+bug/1705118
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 15e692a6fc716f32976eea47946a4892e8ad7a3f
https://github.com/qemu/qemu/commit/15e692a6fc716f32976eea47946a4892e8ad7a3f
Author: Peter Maydell <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/main.c
Log Message:
-----------
linux-user/ppc: Report correct fault address for data faults
For faults on loads and stores, ppc_cpu_handle_mmu_fault() in
target/ppc/user_only_helper.c stores the offending address
in env->spr[SPR_DAR]. Report this correctly to the guest
in si_addr, rather than incorrectly using the address of the
instruction that caused the fault.
This fixes the test case in
https://bugs.launchpad.net/qemu/+bug/1077116
for ppc, ppc64 and ppc64le.
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 8d8cb956e0a679fcf0a8e24f1b2f34e038cdd48e
https://github.com/qemu/qemu/commit/8d8cb956e0a679fcf0a8e24f1b2f34e038cdd48e
Author: Peter Maydell <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M target/sparc/mmu_helper.c
Log Message:
-----------
linux-user/sparc: Put address for data faults where linux-user expects it
In the user-mode-only version of sparc_cpu_handle_mmu_fault(),
we must save the fault address for a data fault into the CPU
state's mmu registers, because the code in linux-user/main.c
expects to find it there in order to populate the si_addr
field of the guest siginfo.
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 78bfef72fbf8705f002c5c57cf3f1d3b8e83399e
https://github.com/qemu/qemu/commit/78bfef72fbf8705f002c5c57cf3f1d3b8e83399e
Author: Peter Maydell <address@hidden>
Date: 2017-11-07 (Tue, 07 Nov 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: Handle rt_sigaction correctly for SPARC
SPARC is like Alpha in its handling of the rt_sigaction syscall:
it takes an extra parameter 'restorer' which needs to be copied
into the sa_restorer field of the sigaction struct. The order
of the arguments differs slightly between SPARC and Alpha but
the implementation is otherwise the same. (Compare the
rt_sigaction() functions in arch/sparc/kernel/sys_sparc_64.c
and arch/alpha/kernel/signal.c.)
Note that this change is somewhat moot until SPARC acquires
support for actually delivering RT signals.
Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: f516511ea84d8bb3395d6ea95a7c7b80dc2a05e9
https://github.com/qemu/qemu/commit/f516511ea84d8bb3395d6ea95a7c7b80dc2a05e9
Author: Peter Maydell <address@hidden>
Date: 2017-11-20 (Mon, 20 Nov 2017)
Changed paths:
M linux-user/elfload.c
Log Message:
-----------
linux-user: Fix calculation of auxv length
In commit 7c4ee5bcc82e643 we changed the order in which we construct
the AUXV, but forgot to adjust the calculation of the length. The
result is that we set info->auxv_len to a bogus and negative value,
and then later on the code in open_self_auxv() gets confused and
ends up presenting the guest with an empty file.
Since we now have to calculate the auxv length up-front as part
of figuring out how much we're going to put on the stack, set
info->auxv_len then; this allows us to assert that we put the
same number of entries into auxv as we pre-calculated, rather
than merely having a comment saying we need to do that.
Fixes: https://bugs.launchpad.net/qemu/+bug/1728116
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Peter Maydell <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
Commit: 1b4e6e8cf8d8ff6ba3fd71eb41051ac2621ace7e
https://github.com/qemu/qemu/commit/1b4e6e8cf8d8ff6ba3fd71eb41051ac2621ace7e
Author: Peter Maydell <address@hidden>
Date: 2017-11-21 (Tue, 21 Nov 2017)
Changed paths:
M linux-user/elfload.c
M linux-user/hppa/syscall_nr.h
M linux-user/hppa/target_cpu.h
M linux-user/main.c
M linux-user/signal.c
M linux-user/syscall.c
M linux-user/syscall_defs.h
M target/sparc/mmu_helper.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/riku/tags/pull-linux-user-20171120'
into staging
late linux-user fixes for Qemu 2.11
# gpg: Signature made Mon 20 Nov 2017 21:19:00 GMT
# 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-20171120:
linux-user: Fix calculation of auxv length
linux-user: Handle rt_sigaction correctly for SPARC
linux-user/sparc: Put address for data faults where linux-user expects it
linux-user/ppc: Report correct fault address for data faults
linux-user/s390x: Mask si_addr for SIGSEGV
linux-user: return EINVAL from prctl(PR_*_SECCOMP)
linux-user: fix 'finshed' typo in comment
linux-user/syscall.c: Handle SH4's exceptional alignment for p{read, write}64
linux-user: Handle TARGET_MAP_STACK and TARGET_MAP_HUGETLB
linux-user/hppa: Fix TARGET_F_RDLCK, TARGET_F_WRLCK, TARGET_F_UNLCK
linux-user/hppa: Fix TARGET_MAP_TYPE
linux-user/hppa: Fix typo for TARGET_NR_epoll_wait
linux-user/hppa: Fix cpu_clone_regs
linux-user/hppa: Fix TARGET_SA_* defines
linux-user: Restrict usage of sa_restorer
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/5f49d73cb3c5...1b4e6e8cf8d8
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 7f047d: linux-user: Restrict usage of sa_restorer,
GitHub <=