lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <179e5832-0dca-0b5f-b303-d5de18353f5e@redhat.com>
Date:   Thu, 3 Aug 2017 14:41:04 +0200
From:   Paolo Bonzini <pbonzini@...hat.com>
To:     David Hildenbrand <david@...hat.com>, Bandan Das <bsd@...hat.com>,
        kvm@...r.kernel.org
Cc:     rkrcmar@...hat.com, jmattson@...gle.com,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] KVM: nVMX: Emulate EPTP switching for the L1
 hypervisor

On 03/08/2017 13:39, David Hildenbrand wrote:
>> +	/* AD, if set, should be supported */
>> +	if ((address & VMX_EPT_AD_ENABLE_BIT)) {
>> +		if (!enable_ept_ad_bits)
>> +			return false;
> In theory (I guess) we would have to check here if
> (vmx->nested.nested_vmx_ept_caps & VMX_EPT_AD_BIT)

Yes, that's a more correct check than enable_ept_ad_bits.

>>
>> +	page = nested_get_page(vcpu, vmcs12->eptp_list_address);
>> +	if (!page)
>> +		return 1;
>> +
>> +	l1_eptp_list = kmap(page);
>> +	address = l1_eptp_list[index];
>> +	accessed_dirty = !!(address & VMX_EPT_AD_ENABLE_BIT);
> 
> Minor nit: Can't you directly do
> 
> kunmap(page);
> nested_release_page_clean(page);
> 
> at this point?
> 
> We can fix this up later.

You actually can do simply kvm_vcpu_read_guest_page(vcpu,
vmcs12->eptp_list_address >> PAGE_SHIFT, &address, index * 8, 8).

Paolo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ