Re: [PATCH RFC v1] arm64: Handle traps from accessing CNTVCT/CNTFRQ for CONFIG_COMPAT

From: Nicolin Chen
Date: Tue Jan 16 2018 - 16:37:28 EST


On Tue, Jan 16, 2018 at 09:19:13PM +0000, Marc Zyngier wrote:

> > I understand that it should take care of the condition field as
> > a general instruction handler. Just for curiosity: If we confine
> > the topic to read access of CNTVCT/CNTFRQ, what'd be the penalty
> > by ignoring the condition field and executing it anyway?
>
> Do you mean, apart from severely corrupting userspace execution?
> That's a rhetorical question, right?

I don't quite understand the corrupting userspace execution part.
What I see for a conditional CNTVCT read is more likely:
if (condition) { // in this case, if (true)
r1 = lower32(cntvct);
r2 = higher32(cntvct);
}

Could you please elaborate a bit? Thank you.