On 12/18/25 7:15 PM, Andrew Cooper wrote:
  int vcpu_vgic_free(struct vcpu *v)
  {
-    xfree(v->arch.vgic.private_irqs);
+    xfree(v->arch.vgic->private_irqs);
+    xfree(v->arch.vgic);
+
      return 0;
  }
Free functions should be idempotent.  This was buggy before, even moreso
now.

Was it really buggy before in terms of idempotent.

It seems like xfree() can handle the case when v->arch.vgic.private_irqs is 
NULL.
Should I still have:
 if ( v->arch.vgic->private_irqs )
    XFREE(v->arch.vgic->private_irqs);
?

~ Oleksii


Reply via email to