diff options
author | Thomas Weißschuh <linux@weissschuh.net> | 2023-01-10 02:59:42 +0300 |
---|---|---|
committer | Jarkko Sakkinen <jarkko@kernel.org> | 2023-02-13 11:11:20 +0300 |
commit | 6c1976addf3623e979b7a954e216004d559bcb42 (patch) | |
tree | 67503e23e9cbeb5daa7ff7db3f074f3997f06b64 /include | |
parent | 06b53b02945e3021addc6af2da3ac999d2221d23 (diff) | |
download | linux-6c1976addf3623e979b7a954e216004d559bcb42.tar.xz |
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')
-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, |