A new secret type (group) allows SE-guests to retrieve the secret value from the UV secret store. All retrieved secrets (but plaintext) are retrieved as a PCMKO-wrapped key so that they will never appear in plaintext in the secure guest. Supported key/secret types are: AES, AES-XTS, HMAC, and EC. Add support for an in-kernel API and an UAPI to retrieve a previously added secret. If the hardware supports it, adding secrets works with the same infrastructure that is used by associate secrets introduced with AP-pass-through support. With this addition List Secret UVCs can report more-data now and may expect a starting index different to zero. This requires the addition of LIST_SECRET_EXT IOCTL that works the same as the non_EXT variant but additionally accepts an index (u16) as input. Sinve v4: * add r-b by Christoph * use struct uv_secret_list for uv_list_secret() * pack all new uvcb related structs Since v3: * converted an accidental kernel-doc-comment to a normal comment. Since v2: * Simplify conditionals * Fix documentation issues * Simplify list_secrets() * Add r-b from Christoph Since v1: * Add various r-b's * Fix nits and minor issues Steffen Eiden (6): s390/boot/uv.c: Use a constant for more-data rc s390/uv: Retrieve UV secrets support s390/uvdevice: Add Retrieve Secret IOCTL s390/uvdevice: Increase indent in IOCTL definitions s390/uvdevice: Add List Secrets Ext IOCTL s390/uv: Retrieve UV secrets sysfs support arch/s390/boot/uv.c | 7 +- arch/s390/include/asm/uv.h | 147 +++++++++++++++++++++++- arch/s390/include/uapi/asm/uvdevice.h | 36 +++--- arch/s390/kernel/uv.c | 153 ++++++++++++++++++++++++- drivers/s390/char/uvdevice.c | 156 +++++++++++++++++++++----- 5 files changed, 445 insertions(+), 54 deletions(-) -- 2.45.2