target/i386: Do not re-compute new pc with CF_PCREL #50
Reference in New Issue
Block a user
Delete Branch "v8.2.0-factory-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
With PCREL, we have a page-relative view of EIP, and an approximation of PC = EIP+CSBASE that is good enough to detect page crossings. If we try to recompute PC after masking EIP, we will mess up that approximation and write a corrupt value to EIP.
We already handled masking properly for PCREL, so the fix in
b5e0d5d2was only needed for the !PCREL path.Cc: qemu-stable@nongnu.org
Fixes:
b5e0d5d22f("target/i386: Fix 32-bit wrapping of pc/eip computation")Reported-by: Michael Tokarev mjt@tls.msk.ru
Message-ID: 20240101230617.129349-1-richard.henderson@linaro.org
(cherry picked from commit
a58506b748)