Messages in this thread | | | Date | Sun, 9 Jul 2023 09:09:04 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCHv3 0/3] x86/tdx: Fix one more load_unaligned_zeropad() issue |
| |
On Sat, Jul 08, 2023 at 11:53:08PM +0000, Michael Kelley (LINUX) wrote: > From: Kirill A. Shutemov <kirill@shutemov.name> Sent: Friday, July 7, 2023 7:07 AM > > > > On Thu, Jul 06, 2023 at 04:48:32PM +0000, Michael Kelley (LINUX) wrote: > > > From: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Sent: Tuesday, June 6, 2023 2:56 AM > > [snip] > > > > > It only addresses the problem that happens on transition, but > > load_unaligned_zeropad() is still a problem for the shared mappings in > > general, after transition is complete. Like if load_unaligned_zeropad() > > steps from private to shared mapping and shared mapping triggers #VE, > > kernel should be able to handle it. > > I'm showing my ignorance of TDX architectural details, but what's the > situation where shared mappings in general can trigger a #VE? How > do such situations get handled for references that aren't from > load_unaligned_zeropad()? >
Shared mappings are under host/VMM control. It can just not map the page in shared-ept and trigger ept-violation #VE.
> > Any comments? > > This looks good to me. I applied the diff to a TDX VM running on > Hyper-V. When a load_unaligned_zeropad() occurs on a page that is > transitioning between private and shared, the zeropad fixup is now > done correctly via the #VE handler. (This is *without* my RFC patch to > mark the pages invalid during a transition.)
Great.
I am at vacation for the next two weeks. I will prepare a proper patch when I am back. Feel free to make patch yourself if you feel it is urgent.
-- Kiryl Shutsemau / Kirill A. Shutemov
| |