[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1
From: |
Peter Collingbourne |
Subject: |
[Bug 1867072] Re: ARM: tag bits cleared in FAR_EL1 |
Date: |
Thu, 12 Mar 2020 17:26:56 -0000 |
With those two patches applied I can no longer reproduce the problem,
thanks!
For posterity, this is how I've been reproducing the problem:
1. Build a Linux kernel with this patch applied:
https://patchwork.kernel.org/patch/11435077/
2. Run this program under the kernel:
#include <stdint.h>
#include <stdio.h>
#include <signal.h>
void handler(int signo, siginfo_t *siginfo, void *context) {
uint32_t *begin = (uint32_t *)context;
uint32_t *end = ((uint32_t *)context) + (sizeof(ucontext_t)/4);
for (uint32_t *i = begin; i != end; ++i) {
printf("%08p %08x\n", i, *i);
}
_exit(0);
}
int main() {
struct sigaction sa;
sa.sa_sigaction = handler;
sa.sa_flags = SA_SIGINFO;
sigaction(SIGSEGV, &sa, 0);
return *(int *)((1ULL << 56) + 0x123456);
}
I would expect this program's output to include something like the
following:
0xffffd5869bd0 46415201
0xffffd5869bd4 00000010
0xffffd5869bd8 00123456
0xffffd5869bdc 01000000
But the output that I was seeing with the bad qemu looked like this:
0xffffd5869bd0 46415201
0xffffd5869bd4 00000010
0xffffd5869bd8 00123456
0xffffd5869bdc 00000000
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1867072
Title:
ARM: tag bits cleared in FAR_EL1
Status in QEMU:
In Progress
Bug description:
The ARM Architecture Reference Manual provides the following for
FAR_EL1:
"For a Data Abort or Watchpoint exception, if address tagging is
enabled for the address accessed by the data access that caused the
exception, then this field includes the tag."
However, I have found that the tag bits in FAR_EL1 are always clear,
even if the tag bits were set in the original access.
I can reproduce the problem on both 4.1.1 and master
(6e8a73e911f066527e775e04b98f31ebd19db600).
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1867072/+subscriptions