[PATCH v2] KVM: arm/arm64: GICv4: Do not perform a map to a mapped vLPI

Kunkun Jiang jiangkunkun at huawei.com
Mon Nov 20 05:19:41 PST 2023


Hi Marc,Oliver,

On 2023/11/20 17:15, Marc Zyngier wrote:
> On 2023-11-19 10:49, Kunkun Jiang wrote:
>> Before performing a map, let's check whether the vLPI has been
>> mapped. This corresponds to checking whether a vLPI is valid
>> before unmap it.
>
> I don't understand this last sentence. Mapping and unmapping
> are two different actions, and we shouldn't conflate them.
>
>>
>> Fixes: 196b136498b3 ("KVM: arm/arm64: GICv4: Wire mapping/unmapping of
>> VLPIs in VFIO irq bypass")
>> Signed-off-by: Kunkun Jiang <jiangkunkun at huawei.com>
>> ---
>>  arch/arm64/kvm/vgic/vgic-v4.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm64/kvm/vgic/vgic-v4.c 
>> b/arch/arm64/kvm/vgic/vgic-v4.c
>> index 339a55194b2c..fb60bbb94460 100644
>> --- a/arch/arm64/kvm/vgic/vgic-v4.c
>> +++ b/arch/arm64/kvm/vgic/vgic-v4.c
>> @@ -436,6 +436,11 @@ int kvm_vgic_v4_set_forwarding(struct kvm *kvm, 
>> int virq,
>>      if (ret)
>>          goto out;
>>
>> +    if (irq->hw) {
>> +        ret = 0;
>
> ret is obviously already 0.
>
>> +        goto out;
>> +    }
>> +
>>      /*
>>       * Emit the mapping request. If it fails, the ITS probably
>>       * isn't v4 compatible, so let's silently bail out. Holding
>
> Furthermore, this really deserves a comment. Something like:
>
> /* Silently exit if the vLPI is already mapped */
>
> With these changes:
>
> Acked-by: Marc Zyngier <maz at kernel.org>
>
> Oliver, can you please apply these changes and queue it as a fix
> for 6.7?
>
Thank you for your careful review. I just sent the v3 and applied
these changes.
https://lore.kernel.org/kvmarm/20231120131210.2039-1-jiangkunkun@huawei.com/

Thanks,
Kunkun Jiang
> Thanks,
>
>         M.



More information about the linux-arm-kernel mailing list