On 19.12.2025 14:32, Oleksii Kurochko wrote:
>
> 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);
> ?
No, and iirc Andrew also didn't ask for this.
Jan