RE: [PATCH 6/6 v3] kvm: powerpc: use caching attributes as per linux pte

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

 




> -----Original Message-----
> From: Wood Scott-B07421
> Sent: Saturday, August 10, 2013 6:35 AM
> To: Bhushan Bharat-R65777
> Cc: benh@xxxxxxxxxxxxxxxxxxx; agraf@xxxxxxx; paulus@xxxxxxxxx;
> kvm@xxxxxxxxxxxxxxx; kvm-ppc@xxxxxxxxxxxxxxx; linuxppc-dev@xxxxxxxxxxxxxxxx;
> Bhushan Bharat-R65777
> Subject: Re: [PATCH 6/6 v3] kvm: powerpc: use caching attributes as per linux
> pte
> 
> On Tue, 2013-08-06 at 17:01 +0530, Bharat Bhushan wrote:
> > @@ -449,7 +446,16 @@ static inline int kvmppc_e500_shadow_map(struct
> kvmppc_vcpu_e500 *vcpu_e500,
> >  		gvaddr &= ~((tsize_pages << PAGE_SHIFT) - 1);
> >  	}
> >
> > -	kvmppc_e500_ref_setup(ref, gtlbe, pfn);
> > +	pgdir = vcpu_e500->vcpu.arch.pgdir;
> > +	ptep = lookup_linux_pte(pgdir, hva, &tsize_pages);
> > +	if (pte_present(*ptep)) {
> > +		wimg = (pte_val(*ptep) >> PTE_WIMGE_SHIFT) & MAS2_WIMGE_MASK;
> > +	} else {
> > +		printk(KERN_ERR "pte not present: gfn %lx, pfn %lx\n",
> > +				(long)gfn, pfn);
> > +		return -EINVAL;
> 
> Don't let the guest spam the host kernel console by repeatedly accessing bad
> mappings (even if it requires host userspace to assist by pointing a memslot at
> a bad hva).  This should at most be printk_ratelimited(), and probably just
> pr_debug().  It should also have __func__ context.

Very good point, I will make this printk_ratelimited() in this patch. And convert this and other error prints to pr_debug() when we will send machine check on error in this flow.

> 
> Also, I don't see the return value getting checked (the immediate callers check
> it and propogate the error, but kvmppc_mmu_map() doesn't).
> We want to send a machine check to the guest if this happens (or possibly exit
> to userspace since it indicates a bad memslot, not just a guest bug).  We don't
> want to just silently retry over and over.

I completely agree with you, but this was something already missing (error return by this function is nothing new added in this patch), So I would like to take that separately.

> 
> Otherwise, this series looks good to me.

Thank you. :)
-Bharat

> 
> -Scott
> 

��.n��������+%������w��{.n�����o�^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux