diff options
author | Ingo Franzki <ifranzki@linux.ibm.com> | 2018-08-23 04:06:26 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-10-09 05:21:38 -0400 |
commit | a45a5c7d36a53646094c2ba4970777a20ec0ec42 (patch) | |
tree | e31f212b548141d0fd3b1240674b0417eb28d9cc /arch/s390/include/uapi | |
parent | aa55bf5f022271903fe8a71e08be3e217e1b6363 (diff) |
s390/pkey: Introduce new API for random protected key generation
This patch introduces a new ioctl API and in-kernel API to
generate a random protected key. The protected key is generated
in a way that the effective clear key is never exposed in clear.
Both APIs are described in detail in the header files
arch/s390/include/asm/pkey.h and arch/s390/include/uapi/asm/pkey.h.
Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/uapi')
-rw-r--r-- | arch/s390/include/uapi/asm/pkey.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/s390/include/uapi/asm/pkey.h b/arch/s390/include/uapi/asm/pkey.h index 6f84a53c3270..10a7bc7c5fa9 100644 --- a/arch/s390/include/uapi/asm/pkey.h +++ b/arch/s390/include/uapi/asm/pkey.h | |||
@@ -129,4 +129,14 @@ struct pkey_verifykey { | |||
129 | #define PKEY_VERIFY_ATTR_AES 0x00000001 /* key is an AES key */ | 129 | #define PKEY_VERIFY_ATTR_AES 0x00000001 /* key is an AES key */ |
130 | #define PKEY_VERIFY_ATTR_OLD_MKVP 0x00000100 /* key has old MKVP value */ | 130 | #define PKEY_VERIFY_ATTR_OLD_MKVP 0x00000100 /* key has old MKVP value */ |
131 | 131 | ||
132 | /* | ||
133 | * Generate (AES) random protected key. | ||
134 | */ | ||
135 | struct pkey_genprotk { | ||
136 | __u32 keytype; /* in: key type to generate */ | ||
137 | struct pkey_protkey protkey; /* out: the protected key */ | ||
138 | }; | ||
139 | |||
140 | #define PKEY_GENPROTK _IOWR(PKEY_IOCTL_MAGIC, 0x08, struct pkey_genprotk) | ||
141 | |||
132 | #endif /* _UAPI_PKEY_H */ | 142 | #endif /* _UAPI_PKEY_H */ |