aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/key.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-04-06 11:14:26 -0400
committerDavid Howells <dhowells@redhat.com>2016-04-11 17:44:15 -0400
commit77f68bac9481ad440f4f34dda3d28c2dce6eb87b (patch)
tree3366c0ab94b42cc67fdbe36a2af7ac6bc1a50467 /security/keys/key.c
parenta511e1af8b12f44c6e55786c463c9f093c214fb6 (diff)
KEYS: Remove KEY_FLAG_TRUSTED and KEY_ALLOC_TRUSTED
Remove KEY_FLAG_TRUSTED and KEY_ALLOC_TRUSTED as they're no longer meaningful. Also we can drop the trusted flag from the preparse structure. Given this, we no longer need to pass the key flags through to restrict_link(). Further, we can now get rid of keyring_restrict_trusted_only() also. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'security/keys/key.c')
-rw-r--r--security/keys/key.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/security/keys/key.c b/security/keys/key.c
index deb881754e03..bd5a272f28a6 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -227,7 +227,6 @@ struct key *key_alloc(struct key_type *type, const char *desc,
227 key_perm_t perm, unsigned long flags, 227 key_perm_t perm, unsigned long flags,
228 int (*restrict_link)(struct key *, 228 int (*restrict_link)(struct key *,
229 const struct key_type *, 229 const struct key_type *,
230 unsigned long,
231 const union key_payload *)) 230 const union key_payload *))
232{ 231{
233 struct key_user *user = NULL; 232 struct key_user *user = NULL;
@@ -300,8 +299,6 @@ struct key *key_alloc(struct key_type *type, const char *desc,
300 299
301 if (!(flags & KEY_ALLOC_NOT_IN_QUOTA)) 300 if (!(flags & KEY_ALLOC_NOT_IN_QUOTA))
302 key->flags |= 1 << KEY_FLAG_IN_QUOTA; 301 key->flags |= 1 << KEY_FLAG_IN_QUOTA;
303 if (flags & KEY_ALLOC_TRUSTED)
304 key->flags |= 1 << KEY_FLAG_TRUSTED;
305 if (flags & KEY_ALLOC_BUILT_IN) 302 if (flags & KEY_ALLOC_BUILT_IN)
306 key->flags |= 1 << KEY_FLAG_BUILTIN; 303 key->flags |= 1 << KEY_FLAG_BUILTIN;
307 304
@@ -504,7 +501,7 @@ int key_instantiate_and_link(struct key *key,
504 if (keyring) { 501 if (keyring) {
505 if (keyring->restrict_link) { 502 if (keyring->restrict_link) {
506 ret = keyring->restrict_link(keyring, key->type, 503 ret = keyring->restrict_link(keyring, key->type,
507 key->flags, &prep.payload); 504 &prep.payload);
508 if (ret < 0) 505 if (ret < 0)
509 goto error; 506 goto error;
510 } 507 }
@@ -811,7 +808,6 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
811 int ret; 808 int ret;
812 int (*restrict_link)(struct key *, 809 int (*restrict_link)(struct key *,
813 const struct key_type *, 810 const struct key_type *,
814 unsigned long,
815 const union key_payload *) = NULL; 811 const union key_payload *) = NULL;
816 812
817 /* look up the key type to see if it's one of the registered kernel 813 /* look up the key type to see if it's one of the registered kernel
@@ -843,7 +839,6 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
843 prep.data = payload; 839 prep.data = payload;
844 prep.datalen = plen; 840 prep.datalen = plen;
845 prep.quotalen = index_key.type->def_datalen; 841 prep.quotalen = index_key.type->def_datalen;
846 prep.trusted = flags & KEY_ALLOC_TRUSTED;
847 prep.expiry = TIME_T_MAX; 842 prep.expiry = TIME_T_MAX;
848 if (index_key.type->preparse) { 843 if (index_key.type->preparse) {
849 ret = index_key.type->preparse(&prep); 844 ret = index_key.type->preparse(&prep);
@@ -860,9 +855,7 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
860 index_key.desc_len = strlen(index_key.description); 855 index_key.desc_len = strlen(index_key.description);
861 856
862 if (restrict_link) { 857 if (restrict_link) {
863 unsigned long kflags = prep.trusted ? KEY_FLAG_TRUSTED : 0; 858 ret = restrict_link(keyring, index_key.type, &prep.payload);
864 ret = restrict_link(keyring,
865 index_key.type, kflags, &prep.payload);
866 if (ret < 0) { 859 if (ret < 0) {
867 key_ref = ERR_PTR(ret); 860 key_ref = ERR_PTR(ret);
868 goto error_free_prep; 861 goto error_free_prep;