Messages in this thread | | | Date | Wed, 2 Mar 2022 11:41:53 -0800 | From | Dave Hansen <> | Subject | Re: [PATCHv5 15/30] x86/boot: Port I/O: allow to hook up alternative helpers |
| |
On 3/2/22 09:42, Josh Poimboeuf wrote: > At the very least, please remove the ability for future code to> accidentally bypass 'pio_ops'. Going forward, are we really expected to> just remember to always use pio_ops for i/o? Or else TDX will just> silently break? That's just not acceptable. What did you have in mind here? The in/out() instruction wrappers could be moved to a spot where they're impossible to call directly, for instance.
I guess we could get really fancy and use objtool to look for any I/O instructions that show up outside of the "official" pio_ops copies. That would prevent anyone using inline assembly.
In the end, though, TDX *is* a new sub-architecture. There are lots of ways it's going to break silently and nobody will notice on bare metal. SEV is the same way with things like the C (encryption) bit in the page tables. Adding more safeguards sounds like a good idea but, in the end, we're going to have to find the non-obvious issues with testing.
| |