Re: [bug-fix] Two bugs in vgic module

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

 



On Fri, Nov 22, 2013 at 06:36:19PM +0800, haibin wang wrote:
> Hi, I use the kernel which version is 3.12 - rc7 .  About the vgic module,
>  there are two bugs:
> 
> 
> 
> The first bug is about sgi dispatching,  In vgic_dispatch_sgi function,
> when mode == 0, that is the vcpu of VM should send sgi to the cpu of the
> target_cpus list. So , there must be a lack of break in switch case 0
> branch.
> 
> 
> 
> diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c
> index 17c5ac7..0e8b10d 100644
> --- a/virt/kvm/arm/vgic.c
> +++ b/virt/kvm/arm/vgic.c
> @@ -753,6 +753,7 @@ static void vgic_dispatch_sgi(struct kvm_vcpu *vcpu,
>         case 0:
>                 if (!target_cpus)
>                         return;
> +               break;
> 
>         case 1:

yup, it's a bug.  Doesn't matter on a 2-core system, but I suspect a
4-core system should become quite IPI happy with this bug.

Thanks for spotting.

> 
> The second bug is about GICD_CFGRn accessing. I have had this error feedback
> :
> 
> https://lists.cs.columbia.edu/pipermail/kvmarm/2013-November/007662.html
> 
> But, maybe, nobody notice it . So i mention it again!
> 
Yeah sorry about that, that function hurts my brain for some reason.

You are right about your conclusion though, the offset should be shifted
back to the original value for the vgic_reg_access on the expanded
value.

-Christoffer
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux