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