All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
@ 2021-06-21 12:42 ` Eric Auger
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Auger @ 2021-06-21 12:42 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, stable, maz, linux-kernel, kvmarm

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> # v5.4
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
---
 virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/virt/kvm/arm/vgic/vgic-kvm-device.c b/virt/kvm/arm/vgic/vgic-kvm-device.c
index 44419679f91a..5eaede3e3b5a 100644
--- a/virt/kvm/arm/vgic/vgic-kvm-device.c
+++ b/virt/kvm/arm/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
-- 
2.26.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
@ 2021-06-21 12:42 ` Eric Auger
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Auger @ 2021-06-21 12:42 UTC (permalink / raw)
  To: eric.auger.pro, eric.auger, stable, maz, linux-kernel, kvmarm

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> # v5.4
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
---
 virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/virt/kvm/arm/vgic/vgic-kvm-device.c b/virt/kvm/arm/vgic/vgic-kvm-device.c
index 44419679f91a..5eaede3e3b5a 100644
--- a/virt/kvm/arm/vgic/vgic-kvm-device.c
+++ b/virt/kvm/arm/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
-- 
2.26.3

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
  2021-06-21 12:42 ` Eric Auger
@ 2021-06-21 15:23   ` Greg KH
  -1 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2021-06-21 15:23 UTC (permalink / raw)
  To: Eric Auger; +Cc: eric.auger.pro, stable, maz, linux-kernel, kvmarm

On Mon, Jun 21, 2021 at 02:42:32PM +0200, Eric Auger wrote:
> 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> # v5.4
> 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
> ---
>  virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Both now queued up, thanks.

Next time, give us a hint as to what the upstream commit id is, so that
we do not have to dig it up ourselves :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
@ 2021-06-21 15:23   ` Greg KH
  0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2021-06-21 15:23 UTC (permalink / raw)
  To: Eric Auger; +Cc: maz, kvmarm, linux-kernel, stable, eric.auger.pro

On Mon, Jun 21, 2021 at 02:42:32PM +0200, Eric Auger wrote:
> 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> # v5.4
> 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
> ---
>  virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Both now queued up, thanks.

Next time, give us a hint as to what the upstream commit id is, so that
we do not have to dig it up ourselves :)

thanks,

greg k-h
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
  2021-06-21 15:23   ` Greg KH
@ 2021-06-21 15:38     ` Eric Auger
  -1 siblings, 0 replies; 6+ messages in thread
From: Eric Auger @ 2021-06-21 15:38 UTC (permalink / raw)
  To: Greg KH; +Cc: eric.auger.pro, stable, maz, linux-kernel, kvmarm

Hi Greg,

On 6/21/21 5:23 PM, Greg KH wrote:
> On Mon, Jun 21, 2021 at 02:42:32PM +0200, Eric Auger wrote:
>> 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> # v5.4
>> 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
>> ---
>>  virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
> Both now queued up, thanks.
>
> Next time, give us a hint as to what the upstream commit id is, so that
> we do not have to dig it up ourselves :)
Sure I will.

Thanks!

Eric
>
> thanks,
>
> greg k-h
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
@ 2021-06-21 15:38     ` Eric Auger
  0 siblings, 0 replies; 6+ messages in thread
From: Eric Auger @ 2021-06-21 15:38 UTC (permalink / raw)
  To: Greg KH; +Cc: maz, kvmarm, linux-kernel, stable, eric.auger.pro

Hi Greg,

On 6/21/21 5:23 PM, Greg KH wrote:
> On Mon, Jun 21, 2021 at 02:42:32PM +0200, Eric Auger wrote:
>> 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> # v5.4
>> 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
>> ---
>>  virt/kvm/arm/vgic/vgic-kvm-device.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
> Both now queued up, thanks.
>
> Next time, give us a hint as to what the upstream commit id is, so that
> we do not have to dig it up ourselves :)
Sure I will.

Thanks!

Eric
>
> thanks,
>
> greg k-h
>

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-21 15:38 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-21 12:42 [PATCH for-stable-5.4] KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read Eric Auger
2021-06-21 12:42 ` Eric Auger
2021-06-21 15:23 ` Greg KH
2021-06-21 15:23   ` Greg KH
2021-06-21 15:38   ` Eric Auger
2021-06-21 15:38     ` Eric Auger

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.