Messages in this thread | | | Date | Tue, 17 May 2022 14:41:02 +0200 | Subject | Re: [PATCH v4 1/2] drivers/s390/char: Add Ultravisor io device | From | Janosch Frank <> |
| |
On 5/17/22 10:42, Steffen Eiden wrote: > > > On 5/17/22 10:38, Janosch Frank wrote: >> 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. > I am fine with that.
Thanks, picked
> > Thank you. > >> >>> --- >>> 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. >>> + * >>
| |