[PATCH] arm64: KVM: Fix user access for debug registers

Marc Zyngier marc.zyngier at arm.com
Wed Sep 16 07:46:17 PDT 2015


On 16/09/15 15:35, Alex Bennée wrote:
> 
> Christoffer Dall <christoffer.dall at linaro.org> writes:
> 
>> On Wed, Sep 16, 2015 at 11:41:10AM +0100, Marc Zyngier wrote:
>>> When setting the debug register from userspace, make sure that
>>> copy_from_user() is called with its parameters in the expected
>>> order. It otherwise doesn't do what you think.
>>>
>>> Reported-by: Peter Maydell <peter.maydell at linaro.org>
>>> Cc: Alex Bennée <alex.bennee at linaro.org>
>>> Fixes: 84e690bfbed1 ("KVM: arm64: introduce vcpu->arch.debug_ptr")
>>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
>>
>> yikes!
> 
> OK I'm now muchly confused as to how it could have worked...

Well, we only write the registers at boot time, and corrupting userspace
did go unnoticed. I was only able to reproduce this on a model with PAN
enabled.

Copy-paste bug.

	M.
-- 
Jazz is not dead. It just smells funny...



More information about the linux-arm-kernel mailing list