Re: [PATCH 0/2] Support userspace hypercalls for TDX
From: Dave Hansen
Date: Wed Jul 03 2024 - 20:18:37 EST
On 7/3/24 16:35, Tim Merrifield wrote:
> VMCALL and VMMCALL instructions are used by x86 guests to request services
> from the host VMM. Both VMCALL and VMMCALL are not restricted to CPL 0.
> This allows userspace software like open-vm-tools to communicate directly
> with the VMM.
Could we please be frank and transparent about what you actually want
here and how you expect this mechanism to be used?
...
> This patchset introduces a new x86 process control flag to address this
> concern. By setting the TIF_COCO_USER_HCALL thread information flag, the
> process opts in to user-level hypercalls.
The process, and anything it fork()s or execve()s, right?
This inheritance model seems more suited to wrapping a tiny helper app
around an existing binary, a la:
prctl(ARCH_SET_COCO_USER_HCALL);
execve("/existing/binary/that/i/surely/did/not/audit", ...);
... as opposed to something that you set in new versions of
open-vm-tools after an extensive audit and a bug fixing campaign to
clean up everything that the audit found.