diff options
author | Hannes Reinecke <hare@suse.de> | 2023-08-24 16:39:13 +0200 |
---|---|---|
committer | Keith Busch <kbusch@kernel.org> | 2023-10-11 10:11:54 -0700 |
commit | 037c34318a479294cdb98dc8018edd5d191b68c0 (patch) | |
tree | 66057f8471e73a0bdc3ac1f0589c13eacb48d598 | |
parent | 501cc6f4aca8dc0958c4d9716f0233ba7cff4830 (diff) | |
download | lwn-037c34318a479294cdb98dc8018edd5d191b68c0.tar.gz lwn-037c34318a479294cdb98dc8018edd5d191b68c0.zip |
security/keys: export key_lookup()
For in-kernel consumers one cannot readily assign a user (eg when
running from a workqueue), so the normal key search permissions
cannot be applied.
This patch exports the 'key_lookup()' function for a simple lookup
of keys without checking for permissions.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
-rw-r--r-- | include/linux/key.h | 1 | ||||
-rw-r--r-- | security/keys/key.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/key.h b/include/linux/key.h index 938d7ecfb495..943a432da3ae 100644 --- a/include/linux/key.h +++ b/include/linux/key.h @@ -515,6 +515,7 @@ extern void key_init(void); #define key_init() do { } while(0) #define key_free_user_ns(ns) do { } while(0) #define key_remove_domain(d) do { } while(0) +#define key_lookup(k) NULL #endif /* CONFIG_KEYS */ #endif /* __KERNEL__ */ diff --git a/security/keys/key.c b/security/keys/key.c index 5c0c7df833f8..0260a1902922 100644 --- a/security/keys/key.c +++ b/security/keys/key.c @@ -693,6 +693,7 @@ error: spin_unlock(&key_serial_lock); return key; } +EXPORT_SYMBOL(key_lookup); /* * Find and lock the specified key type against removal. |