[PATCH v5 0/2] x86/jailhouse: improve probing of platform UARTs

From: Ralf Ramsauer
Date: Mon Oct 07 2019 - 08:45:33 EST


Hi,

probing of platform UARTs is a problem for x86 jailhouse non-root
cells: Linux doesn't know which UARTs belong to the cell and will probe
for all platform UARTs. This crashes the guest if access isn't
permitted. Current workarounds (tuning via 8250.nr_uarts) are hacky and
limited.

But we do have some flags inside setup_data that indicate availability
of UARTs, so simply use it.

Ralf

since v4:
- Link: https://lore.kernel.org/r/20190909151030.152012-1-ralf.ramsauer@xxxxxxxxxxxxxxxxx
alt: https://www.mail-archive.com/jailhouse-dev@xxxxxxxxxxxxxxxx/msg07483.html
- rebase and test on latest master and resolve conflicts
- Add linux-kernel ML

since v3:
- Link: https://lore.kernel.org/r/20190819183408.988013-1-ralf.ramsauer@xxxxxxxxxxxxxxxxx
alt: https://www.mail-archive.com/jailhouse-dev@xxxxxxxxxxxxxxxx/msg07365.html
- Address Thomas' comments (and it really looks nicer)
- Address Jan's comment on patch 1 and add his Reviewed-by tag

since v2:
- Link: https://lore.kernel.org/r/20190812110650.631305-1-ralf.ramsauer@xxxxxxxxxxxxxxxxx
alt: https://www.mail-archive.com/jailhouse-dev@xxxxxxxxxxxxxxxx/msg07334.html
- avoid imbalances of early_memremap and early_memunmap

since v1:
- Link: https://lore.kernel.org/r/20190802123333.4008-1-ralf.ramsauer@xxxxxxxxxxxxxxxxx
- alt: https://www.mail-archive.com/jailhouse-dev@xxxxxxxxxxxxxxxx/msg07283.html
- setup data version check wasn't really prepared for extensions of
the structure. Add a patch that improves the checks.


Ralf Ramsauer (2):
x86/jailhouse: improve setup data version comparison
x86/jailhouse: Only enable platform UARTs if available

arch/x86/include/uapi/asm/bootparam.h | 25 +++--
arch/x86/kernel/jailhouse.c | 131 ++++++++++++++++++++------
2 files changed, 117 insertions(+), 39 deletions(-)

--
2.23.0