Re: FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree

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

 



Hi Marc,

On 5/12/21 1:11 PM, Marc Zyngier wrote:
> On Wed, 12 May 2021 11:46:23 +0100,
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>>
>>
>> The patch below does not apply to the 4.19-stable tree.
>> If someone wants it applied there, or to any other stable or longterm
>> tree, then please email the backport, including the original git commit
>> id to <stable@xxxxxxxxxxxxxxx>.
>>
>> thanks,
>>
>> greg k-h
>>
>> ------------------ original commit in Linus's tree ------------------
>>
>> From 94ac0835391efc1a30feda6fc908913ec012951e Mon Sep 17 00:00:00 2001
>> From: Eric Auger <eric.auger@xxxxxxxxxx>
>> Date: Mon, 12 Apr 2021 17:00:34 +0200
>> Subject: [PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
>>
>> When reading the base address of the a REDIST region
>> through KVM_VGIC_V3_ADDR_TYPE_REDIST we expect the
>> redistributor region list to be populated with a single
>> element.
>>
>> However list_first_entry() expects the list to be non empty.
>> Instead we should use list_first_entry_or_null which effectively
>> returns NULL if the list is empty.
>>
>> Fixes: dbd9733ab674 ("KVM: arm/arm64: Replace the single rdist region by a list")
>> Cc: <Stable@xxxxxxxxxxxxxxx> # v4.18+
>> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx>
>> Reported-by: Gavin Shan <gshan@xxxxxxxxxx>
>> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
>> Link: https://lore.kernel.org/r/20210412150034.29185-1-eric.auger@xxxxxxxxxx
>>
>> diff --git a/arch/arm64/kvm/vgic/vgic-kvm-device.c b/arch/arm64/kvm/vgic/vgic-kvm-device.c
>> index 2f66cf247282..7740995de982 100644
>> --- a/arch/arm64/kvm/vgic/vgic-kvm-device.c
>> +++ b/arch/arm64/kvm/vgic/vgic-kvm-device.c
>> @@ -87,8 +87,8 @@ int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write)
>>  			r = vgic_v3_set_redist_base(kvm, 0, *addr, 0);
>>  			goto out;
>>  		}
>> -		rdreg = list_first_entry(&vgic->rd_regions,
>> -					 struct vgic_redist_region, list);
>> +		rdreg = list_first_entry_or_null(&vgic->rd_regions,
>> +						 struct vgic_redist_region, list);
>>  		if (!rdreg)
>>  			addr_ptr = &undef_value;
>>  		else
> 
> Eric, any chance you could look at a potential backport of this patch
> to both 4.19 and 5.4?

yes I will have a look.

Thanks

Eric
> 
> Thanks a lot,
> 
> 	M.
> 




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux