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: <edfc5edc-4bf7-4bc6-b760-c9d4341acc9d@linux.intel.com>
Date: Wed, 26 Jun 2024 10:09:08 +0800
From: Binbin Wu <binbin.wu@...ux.intel.com>
To: "Edgecombe, Rick P" <rick.p.edgecombe@...el.com>,
 "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
 "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
 "Yamahata, Isaku" <isaku.yamahata@...el.com>
Cc: "Zhang, Tina" <tina.zhang@...el.com>,
 "seanjc@...gle.com" <seanjc@...gle.com>, "Yuan, Hang" <hang.yuan@...el.com>,
 "Huang, Kai" <kai.huang@...el.com>, "Chen, Bo2" <chen.bo@...el.com>,
 "sagis@...gle.com" <sagis@...gle.com>,
 "isaku.yamahata@...il.com" <isaku.yamahata@...il.com>,
 "Aktas, Erdem" <erdemaktas@...gle.com>,
 "Chatre, Reinette" <reinette.chatre@...el.com>,
 "pbonzini@...hat.com" <pbonzini@...hat.com>,
 "sean.j.christopherson@...el.com" <sean.j.christopherson@...el.com>
Subject: Re: [PATCH v19 110/130] KVM: TDX: Handle TDX PV MMIO hypercall



On 6/26/2024 5:09 AM, Edgecombe, Rick P wrote:
> On Tue, 2024-06-25 at 14:54 +0800, Binbin Wu wrote:
>>> +               gpa = vcpu->mmio_fragments[0].gpa;
>>> +               size = vcpu->mmio_fragments[0].len;
>> Since MMIO cross page boundary is not allowed according to the input
>> checks from TDVMCALL, these mmio_fragments[] is not needed.
>> Just use vcpu->run->mmio.phys_addr and vcpu->run->mmio.len?
> Can we add a comment or something to that check, on why KVM doesn't handle it?
> Is it documented somewhere in the TDX ABI that it is not expected to be
> supported?
TDX GHCI doesn't have such restriction.

According to the reply from Isaku in the below link, I think current 
restriction is due to software implementation for simplicity.
https://lore.kernel.org/kvm/20240419173423.GD3596705@ls.amr.corp.intel.com/
+       /* Disallow MMIO crossing page boundary for simplicity. */
+       if (((gpa + size - 1) ^ gpa) & PAGE_MASK)
                 goto error;

According to 
https://lore.kernel.org/all/165550567214.4207.3700499203810719676.tip-bot2@tip-bot2/,
for Linux as TDX guest, it rejects EPT violation #VEs that split pages 
based on the reason "MMIO accesses are supposed to be naturally aligned 
and therefore never cross page boundaries" to handle the 
load_unaligned_zeropad() case.

I am not sure "MMIO accesses are supposed to be naturally aligned" is 
true for all other OS as TDX guest, though.

Any suggestion?


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ