On 03/12/15 10:53, Pavel Fedin wrote:
> Hello!
>
>>> The problem has been discovered by performing an operation
>>>
>>> *((volatile int *)reg) = 0;
>>>
>>> which compiles as "str xzr, [xx]", and resulted in strange values being
>>> written.
>>
>> Interesting find. Which compiler is that?
>
> $ aarch64-linux-gnu-gcc --version
> aarch64-linux-gnu-gcc (Linaro GCC 2014.11) 4.9.3 20141031 (prerelease)
> Copyright (C) 2014 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
OK. I was just wondering if that was a new thing or not.
[...]
> Isn't it legitimate to write from ZR to MMIO register?
> Another potential case is in our vgic-v3-switch.S:
>
> msr_s ICH_HCR_EL2, xzr
>
> It's only because it is KVM code we have never discovered this problem yet.
> Somebody could write such a thing in some other place,
> with some other register, which would be executed by KVM, and... boo...
I'm certainly not disputing that, this is a real bug that should be
fixed right now.
Looking forward to seeing your v2.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html