Coverity and compiler warning fixes

-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAl+jpMwSHGxhdXJlbnRA
 dml2aWVyLmV1AAoJEPMMOL0/L748LCEP/26bGNNvDM+h0iRn5BSvhai3wP60QYXY
 0rw8lOS5SNBMVemM9spn8f0ojru2NWKkNsUoWPVLo4PoGSjLXE5PGroAQete7NDo
 H79FwZhmUxIGKotp+K0ngMY3BJxgdmzbvJ1v/tVg54hC6n73zPr+jEfFcQHgfkiZ
 4Es4SNi4d13FbFgkAgQVxPKe/09ZY2SgZ5McTskJtXXHUmqFhc/HVU4LN9r33lUX
 Jxf2BO+3D6QB/qn/OXk4HK+qJYQXD0bw16ppPbyOan6+VbfnFwJZ2rrUQbZJyWtk
 JqlURJ8LXzz4s7aqp9S7G771usNHFNZEA17lhWUqx3In/96wlqi+ILkQaxh9Izzz
 WGjwHoSaVo9vwQHGclg8vgE4bvXXB6NCUdO9gxooi0OqVzwpYw3FpvZqcBFU1B+J
 EpmeX5cQKs2dkTz1Mtb84vZGIKvkHYxgmOxYaWQj1djcHXOilbW9+DR1cWZRqnTj
 DaUpPax2tCQEpOBAXZKk9XMBe2vrerTUfEce7D2/E6Qfde0AKDfhilrUc/aUCd6M
 NIgQr+FLFyasE/v2IkoTCsZnMg3CJNqhhWoDPGKALylJZViA29yCqACCJoQVq2q7
 0NkJ/ZHXOvfXaj2vjpW++vkHOuGY7dO7tt/n7AEgNeZkI1O/eKWmsEKcPJ/PfZnM
 doSQ9UdTehfd
 =rjb3
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.2-pull-request' into staging

Coverity and compiler warning fixes

# gpg: Signature made Thu 05 Nov 2020 07:07:56 GMT
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-5.2-pull-request:
  linux-user: Check copy_from_user() return value in vma_dump_size()
  linux-user/syscall: Fix missing target_to_host_timespec64() check
  linux-user: Use "!= 0" when checking if MAP_FIXED_NOREPLACE is non-zero
  linux-user/mips/cpu_loop: silence the compiler warnings

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2020-11-05 23:46:19 +00:00
commit 42705e2691
3 changed files with 12 additions and 3 deletions

View File

@ -2188,7 +2188,8 @@ static uintptr_t pgd_find_hole_fallback(uintptr_t guest_size, uintptr_t brk,
PROT_NONE, flags, -1, 0);
if (mmap_start != MAP_FAILED) {
munmap((void *) align_start, guest_size);
if (MAP_FIXED_NOREPLACE || mmap_start == (void *) align_start) {
if (MAP_FIXED_NOREPLACE != 0 ||
mmap_start == (void *) align_start) {
return (uintptr_t) mmap_start + offset;
}
}
@ -3484,7 +3485,9 @@ static abi_ulong vma_dump_size(const struct vm_area_struct *vma)
if (vma->vma_flags & PROT_EXEC) {
char page[TARGET_PAGE_SIZE];
copy_from_user(page, vma->vma_start, sizeof (page));
if (copy_from_user(page, vma->vma_start, sizeof (page))) {
return 0;
}
if ((page[EI_MAG0] == ELFMAG0) &&
(page[EI_MAG1] == ELFMAG1) &&
(page[EI_MAG2] == ELFMAG2) &&

View File

@ -104,18 +104,22 @@ void cpu_loop(CPUMIPSState *env)
if ((ret = get_user_ual(arg8, sp_reg + 28)) != 0) {
goto done_syscall;
}
/* fall through */
case 7:
if ((ret = get_user_ual(arg7, sp_reg + 24)) != 0) {
goto done_syscall;
}
/* fall through */
case 6:
if ((ret = get_user_ual(arg6, sp_reg + 20)) != 0) {
goto done_syscall;
}
/* fall through */
case 5:
if ((ret = get_user_ual(arg5, sp_reg + 16)) != 0) {
goto done_syscall;
}
/* fall through */
default:
break;
}

View File

@ -7592,7 +7592,9 @@ static int do_futex_time64(target_ulong uaddr, int op, int val, target_ulong tim
case FUTEX_WAIT_BITSET:
if (timeout) {
pts = &ts;
target_to_host_timespec64(pts, timeout);
if (target_to_host_timespec64(pts, timeout)) {
return -TARGET_EFAULT;
}
} else {
pts = NULL;
}