* FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree
@ 2021-05-12 10:46 gregkh
2021-05-12 11:11 ` Marc Zyngier
0 siblings, 1 reply; 3+ messages in thread
From: gregkh @ 2021-05-12 10:46 UTC (permalink / raw)
To: eric.auger, Stable, gshan, maz; +Cc: stable
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@vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 94ac0835391efc1a30feda6fc908913ec012951e Mon Sep 17 00:00:00 2001
From: Eric Auger <eric.auger@redhat.com>
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@vger.kernel.org> # v4.18+
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210412150034.29185-1-eric.auger@redhat.com
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree
2021-05-12 10:46 FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree gregkh
@ 2021-05-12 11:11 ` Marc Zyngier
2021-05-12 13:05 ` Auger Eric
0 siblings, 1 reply; 3+ messages in thread
From: Marc Zyngier @ 2021-05-12 11:11 UTC (permalink / raw)
To: eric.auger, gregkh; +Cc: Stable, gshan, stable
On Wed, 12 May 2021 11:46:23 +0100,
<gregkh@linuxfoundation.org> 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@vger.kernel.org>.
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 94ac0835391efc1a30feda6fc908913ec012951e Mon Sep 17 00:00:00 2001
> From: Eric Auger <eric.auger@redhat.com>
> 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@vger.kernel.org> # v4.18+
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> Reported-by: Gavin Shan <gshan@redhat.com>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Link: https://lore.kernel.org/r/20210412150034.29185-1-eric.auger@redhat.com
>
> 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?
Thanks a lot,
M.
--
Without deviation from the norm, progress is not possible.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree
2021-05-12 11:11 ` Marc Zyngier
@ 2021-05-12 13:05 ` Auger Eric
0 siblings, 0 replies; 3+ messages in thread
From: Auger Eric @ 2021-05-12 13:05 UTC (permalink / raw)
To: Marc Zyngier, gregkh; +Cc: Stable, gshan
Hi Marc,
On 5/12/21 1:11 PM, Marc Zyngier wrote:
> On Wed, 12 May 2021 11:46:23 +0100,
> <gregkh@linuxfoundation.org> 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@vger.kernel.org>.
>>
>> thanks,
>>
>> greg k-h
>>
>> ------------------ original commit in Linus's tree ------------------
>>
>> From 94ac0835391efc1a30feda6fc908913ec012951e Mon Sep 17 00:00:00 2001
>> From: Eric Auger <eric.auger@redhat.com>
>> 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@vger.kernel.org> # v4.18+
>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>> Reported-by: Gavin Shan <gshan@redhat.com>
>> Signed-off-by: Marc Zyngier <maz@kernel.org>
>> Link: https://lore.kernel.org/r/20210412150034.29185-1-eric.auger@redhat.com
>>
>> 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.
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-05-12 13:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-12 10:46 FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree gregkh
2021-05-12 11:11 ` Marc Zyngier
2021-05-12 13:05 ` Auger Eric
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.