FAILED: patch "[PATCH] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe 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 <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 94ac0835391efc1a30feda6fc908913ec012951e Mon Sep 17 00:00:00 2001
From: Eric Auger <[email protected]>
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.
arch/arm64/kvm/vgic/vgic-kvm-device.c +2 -2
@@ -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
Marc Zyngier
maintainerQuoted 39 lines · On Wed, 12 May 2021 11:46:23 +0100, <[email protected]> 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 <[email protected]>.thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From
94ac0835391efc1a30feda6fc908913ec012951eMon Sep 17 00:00:00 2001
From: Eric Auger <[email protected]>
Date: Mon, 12 Apr 2021 17:00:34 +0200
Subject: [PATCH] KVM: arm/arm64: FixKVM_VGIC_V3_ADDR_TYPE_REDISTreadWhen reading the base address of the a REDIST region through
KVM_VGIC_V3_ADDR_TYPE_REDISTwe 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 uselist_first_entry_or_nullwhich effectively returns NULL if the list is empty.Fixes dbd9733ab674 ("KVM: arm/arm64: Replace the single rdist region by a list")Cc <[email protected]> # v4.18+Signed-off-by Eric Auger <[email protected]>Reported-by Gavin Shan <[email protected]>Signed-off-by Marc Zyngier <[email protected]>arch/arm64/kvm/vgic/vgic-kvm-device.c +0
-0
arch/arm64/kvm/vgic/vgic-kvm-device.c int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write) · line 94
Quoted 10 lines
arch/arm64/kvm/vgic/vgic-kvm-device.c +2
-2@@ -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.
Signature · 1 line
Without deviation from the norm, progress is not possible.
Hi Marc,
Quoted 46 lines · Marc Zyngier
Quoted 44 lines · On Wed, 12 May 2021 11:46:23 +0100, <[email protected]> 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 <[email protected]>.thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From
94ac0835391efc1a30feda6fc908913ec012951eMon Sep 17 00:00:00 2001
From: Eric Auger <[email protected]>
Date: Mon, 12 Apr 2021 17:00:34 +0200
Subject: [PATCH] KVM: arm/arm64: FixKVM_VGIC_V3_ADDR_TYPE_REDISTreadWhen reading the base address of the a REDIST region through
KVM_VGIC_V3_ADDR_TYPE_REDISTwe 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 uselist_first_entry_or_nullwhich effectively returns NULL if the list is empty.Fixes dbd9733ab674 ("KVM: arm/arm64: Replace the single rdist region by a list")Cc <[email protected]> # v4.18+Signed-off-by Eric Auger <[email protected]>Reported-by Gavin Shan <[email protected]>Signed-off-by Marc Zyngier <[email protected]>arch/arm64/kvm/vgic/vgic-kvm-device.c +0
-2@@ -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);
Quoted 8 lines
arch/arm64/kvm/vgic/vgic-kvm-device.c int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write) · line 94
Quoted 5 lines
arch/arm64/kvm/vgic/vgic-kvm-device.c +2
-0+ 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
Quoted 5 lines
Thanks a lot,
M.