diff options
author | 2023-01-09 23:59:42 +0000 | |
---|---|---|
committer | 2023-02-13 10:11:20 +0200 | |
commit | 6c1976addf3623e979b7a954e216004d559bcb42 (patch) | |
tree | 67503e23e9cbeb5daa7ff7db3f074f3997f06b64 /include/linux/key.h | |
parent | certs: make blacklisted hash available in klog (diff) | |
download | linux-6c1976addf3623e979b7a954e216004d559bcb42.tar.gz linux-6c1976addf3623e979b7a954e216004d559bcb42.tar.bz2 linux-6c1976addf3623e979b7a954e216004d559bcb42.zip |
KEYS: Add new function key_create()
key_create() works like key_create_or_update() but does not allow
updating an existing key, instead returning ERR_PTR(-EEXIST).
key_create() will be used by the blacklist keyring which should not
create duplicate entries or update existing entries.
Instead a dedicated message with appropriate severity will be logged.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Diffstat (limited to 'include/linux/key.h')
-rw-r--r-- | include/linux/key.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/key.h b/include/linux/key.h index d27477faf00d..8dc7f7c3088b 100644 --- a/include/linux/key.h +++ b/include/linux/key.h @@ -386,6 +386,14 @@ extern int wait_for_key_construction(struct key *key, bool intr); extern int key_validate(const struct key *key); +extern key_ref_t key_create(key_ref_t keyring, + const char *type, + const char *description, + const void *payload, + size_t plen, + key_perm_t perm, + unsigned long flags); + extern key_ref_t key_create_or_update(key_ref_t keyring, const char *type, const char *description, |