On 5/10/22 16:47, Steffen Eiden wrote:
This patch adds a new miscdevice to expose some Ultravisor functions to userspace. Userspace can send IOCTLs to the uvdevice that will then emit a corresponding Ultravisor Call and hands the result over to userspace. The uvdevice is available if the Ultravisor Call facility is present. Userspace can call the Retrieve Attestation Measurement Ultravisor Call using IOCTLs on the uvdevice.
The uvdevice will do some sanity checks first. Then, copy the request data to kernel space, build the UVCB, perform the UV call, and copy the result back to userspace.
Signed-off-by: Steffen Eiden seiden@linux.ibm.com Reviewed-by: Janosch Frank frankja@linux.ibm.com
I'd like to pick this if I'm allowed to fix the two white space problems below.
MAINTAINERS | 2 + arch/s390/include/asm/uv.h | 23 ++- arch/s390/include/uapi/asm/uvdevice.h | 51 +++++ drivers/s390/char/Kconfig | 10 + drivers/s390/char/Makefile | 1 + drivers/s390/char/uvdevice.c | 264 ++++++++++++++++++++++++++ 6 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 arch/s390/include/uapi/asm/uvdevice.h create mode 100644 drivers/s390/char/uvdevice.c
+#endif /* __S390_ASM_UVDEVICE_H */
There are two spaces between the "endif" and the "/"
diff --git a/drivers/s390/char/Kconfig b/drivers/s390/char/Kconfig index 6cc4b19acf85..e9b9902abbaf 100644 --- a/drivers/s390/char/Kconfig +++ b/drivers/s390/char/Kconfig @@ -100,6 +100,16 @@ config SCLP_OFB This option enables the Open-for-Business interface to the s390 Service Element.
[...]
- uvio_attestation() does a Retrieve Attestation Measurement Ultravisor Call.
Double space
- It verifies that the given userspace addresses are valid and request sizes
- are sane. Every other check is made by the Ultravisor (UV) and won't result
- in a negative return value. It copies the input to kernelspace, builds the
- request, sends the UV-call, and copies the result to userspace.