[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 6fab0c: target/hppa: Fix proberi instruction
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 6fab0c: target/hppa: Fix proberi instruction emulation for... |
Date: |
Fri, 19 Aug 2022 09:36:14 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 6fab0c182dabaca5b3d56e60a8de3122ce9afbea
https://github.com/qemu/qemu/commit/6fab0c182dabaca5b3d56e60a8de3122ce9afbea
Author: Helge Deller <deller@gmx.de>
Date: 2022-08-19 (Fri, 19 Aug 2022)
Changed paths:
M target/hppa/op_helper.c
Log Message:
-----------
target/hppa: Fix proberi instruction emulation for linux-user
The proberi assembler instruction checks the read/write access rights
for the page of a given address and shall return a value of 1 if the
test succeeds and a value of 0 on failure in the target register.
But when run in linux-user mode, qemu currently simply returns the
return code of page_check_range() which returns 0 on success and -1 on
failure, which is the opposite of what proberi should return.
Fix it by checking the return code of page_check_range() and return the
expected return value.
The easiest way to reproduce the issue is by running
"/lib/ld.so.1 --version" in a chroot which fails without this patch.
At startup of ld.so the __canonicalize_funcptr_for_compare() function is
used to resolve the function address out of a function descriptor, which
fails because proberi (due to the wrong return code) seems to indicate
that the given address isn't accessible.
Signed-off-by: Helge Deller <deller@gmx.de>
Commit: ba58ccbef60338d0b7334c714589a6423a3e7f91
https://github.com/qemu/qemu/commit/ba58ccbef60338d0b7334c714589a6423a3e7f91
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2022-08-19 (Fri, 19 Aug 2022)
Changed paths:
M target/hppa/op_helper.c
Log Message:
-----------
Merge tag 'for-7.1-hppa' of https://github.com/hdeller/qemu-hppa into staging
target/hppa: Fix proberi instruction emulation for linux-user
# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCYv+X7AAKCRD3ErUQojoP
# XyGaAQCUaZmTFIEMz7TOjPCz1ix8MaLTrQH8B/gAt3Ss9hXvKgD/ZtOItG3Iz8y0
# tHslvPvJKHlr8s5Ol9rxRPzRG7iigAo=
# =DQho
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 19 Aug 2022 07:02:20 AM PDT
# gpg: using EDDSA key BCE9123E1AD29F07C049BBDEF712B510A23A0F5F
# gpg: Good signature from "Helge Deller <deller@gmx.de>" [unknown]
# gpg: aka "Helge Deller <deller@kernel.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 4544 8228 2CD9 10DB EF3D 25F8 3E5F 3D04 A7A2 4603
# Subkey fingerprint: BCE9 123E 1AD2 9F07 C049 BBDE F712 B510 A23A 0F5F
* tag 'for-7.1-hppa' of https://github.com/hdeller/qemu-hppa:
target/hppa: Fix proberi instruction emulation for linux-user
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/a78241a62b55...ba58ccbef603
- [Qemu-commits] [qemu/qemu] 6fab0c: target/hppa: Fix proberi instruction emulation for...,
Richard Henderson <=