On 25/03/2016 14:19, Xiao Guangrong wrote:
> @@ -193,11 +193,11 @@ static inline u8 permission_fault(struct kvm_vcpu 
> *vcpu, struct kvm_mmu *mmu,
>                       ((pte_access & PT_USER_MASK) << (PFERR_RSVD_BIT - 
> PT_USER_SHIFT));

One more tweak is needed in the line above; pfec - 1 must become pfec &
~1, because you've removed the

        pfec |= PFERR_PRESENT_MASK;

line.  Applied with this change.

Paolo

>  
>               pkru_bits &= mmu->pkru_mask >> offset;
> -             pfec |= -pkru_bits & PFERR_PK_MASK;
> +             errcode |= -pkru_bits & PFERR_PK_MASK;
>               fault |= (pkru_bits != 0);
>       }
>  
> -     return -(uint32_t)fault & pfec;
> +     return -(uint32_t)fault & errcode;
>  }
>  
>  void kvm_mmu_invalidate_zap_all_pages(struct kvm *kvm);

Reply via email to