Message ID | 20190114011122.5995-1-richard.henderson@linaro.org |
---|---|
Headers | show |
Series | target/arm: Implement ARMv8.5-MemTag | expand |
On Mon, 14 Jan 2019 at 01:11, Richard Henderson <richard.henderson@linaro.org> wrote: > > Based-on: 20190110124951.15473-1-richard.henderson@linaro.org > aka the TBID patch set, which itself is based on the BTI patch set. > > The full tree is available at > > https://github.org/rth7680/qemu.git tgt-arm-mte > > This extension isl also spelled MTE in the ARM. > > This patch set only attempts to implement linux-user emulation. > For system emulation, I still miss the new cache flushing insns (easy) > and the out-of-band physical memory for the allocation tags (harder). > > From a few mis-steps in writing the test cases for the extension, > I might suggest that some future kernel's userland ABI for this have > TCR.TCMA0 = 1, so that legacy code that is *not* MTE aware can use > a frame pointer without accidentally tripping left over stack tags. > (As seen in patch 5, SP+OFF is unchecked per the ISA but FP+OFF is not.) > > OTOH, depending on the application, that does make it easier for an > attack vector to clean the tag off the top of a pointer to bypass > store checking. So, tricky. I'm working through review of this, but feel free to rebase on current master (which has now got a pile of your other patches in it, since I've just merged target-arm.next) without waiting for me to finish going through it. thanks -- PMM
On Tue, 5 Feb 2019 at 19:42, Peter Maydell <peter.maydell@linaro.org> wrote: > I'm working through review of this, but feel free to rebase on > current master (which has now got a pile of your other patches > in it, since I've just merged target-arm.next) without waiting > for me to finish going through it. OK, I've now finished review of it. I haven't looked at the last few patches which are linux-user, because it doesn't seem worth doing much review on them until we have at least a proposed Linux userspace ABI for MemTag to compare them against. (If we do want to do an implementation that precedes the ABI being nailed down, we need to hide it behind a defaults-to-off x-property.) thanks -- PMM