[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 15/16] xen/arm: traps: Don't inject a fault if the translation VA -> IPA fails

Hi Stefano,

On 21/05/16 15:51, Stefano Stabellini wrote:
On Sat, 21 May 2016, Stefano Stabellini wrote:
On Thu, 5 May 2016, Julien Grall wrote:
Based on ARM ARM (D4.5.3 in ARM DDI 0486A and B3.12.7 in ARM DDI 0406C.c),
a Stage 1 translation error has priority over a Stage 2 translation error.

Therefore gva_to_ipa can only fail if another vCPU is playing with the
page table.

Rather than injecting a custom fault, replay the instruction and let the
processor injecting the correct fault.

Signed-off-by: Julien Grall <julien.grall@xxxxxxx>

Couldn't a guest purposely cause a DoS in the hypervisor this way?

Just double-checking. I am pretty sure it cannot, because the replayed
instruction won't cause another hypervisor trap the second time around.

Before returning to the guest vCPU, Xen is handling any pending softirqs (see leave_hypervisor_tail). It might be possible to have the vCPU rescheduled.

So even if the replay cause another hypervisor trap, it will only impact its timeslice.

I will update the commit message to explain why it is not possible.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.