Re: [PATCH v4 1/2] drivers/s390/char: Add Ultravisor io device

Janosch Frank
2022-05-17T08:39:00Z

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.
> + *