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

Re: [Xen-devel] [PATCH v9 13/28] ARM: vITS: add command handling stub and MMIO emulation


On 11/05/17 18:53, Andre Przywara wrote:
+/* Must be called with the ITS lock held. */
+static bool vgic_v3_verify_its_status(struct virt_its *its, bool status)
+    ASSERT(spin_is_locked(&its->its_lock));
+    if ( !status )
+        return false;
+    if ( !(its->cbaser & GITS_VALID_BIT) ||
+         !(its->baser_dev & GITS_VALID_BIT) ||
+         !(its->baser_coll & GITS_VALID_BIT) )
+    {
+        printk(XENLOG_G_WARNING "d%d tried to enable ITS without having the tables 
+               its->d->domain_id);
+        return false;
+    }

Actually I was expecting more code in this function based on my comment in patch #21 on v8 ([1]).

Table could be crafted before the guest is enabling the ITS. As a lot of the commands (e.g INT, MOVI...) rely on the content to get the vCPU, we could take the wrong lock and not protect correctly the internal structure.

I appreciate that this series is only targeting to support DOM0 which is trusted. But the list of TODOs is starting to be extremely long. How are we going to address them?

+    return true;


[1] <586a4ada-603f-db52-c1aa-5164c2832667@xxxxxxx>

Julien Grall

Xen-devel mailing list



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