summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2013-09-04 19:28:03 +0100
committerDavid Howells <dhowells@redhat.com>2013-09-25 17:17:01 +0100
commitcd0421dcd0230d3e402ae9c6d012610132c3f078 (patch)
tree11005c9476e56b50045deceae39633d50be3a595 /crypto
parent008643b86c5f33c115c84ccdda1725cac3ad50ad (diff)
downloadkernel-common-cd0421dcd0230d3e402ae9c6d012610132c3f078.tar.gz
kernel-common-cd0421dcd0230d3e402ae9c6d012610132c3f078.tar.bz2
kernel-common-cd0421dcd0230d3e402ae9c6d012610132c3f078.zip
KEYS: Set the asymmetric-key type default search method
The keyring expansion patches introduces a new search method by which key_search() attempts to walk directly to the key that has exactly the same description as the requested one. However, this causes inexact matching of asymmetric keys to fail. The solution to this is to select iterative rather than direct search as the default search type for asymmetric keys. As an example, the kernel might have a key like this: Magrathea: Glacier signing key: 6a2a0f82bad7e396665f465e4e3e1f9bd24b1226 and: keyctl search <keyring-ID> asymmetric id:d24b1226 should find the key, despite that not being its exact description. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/asymmetric_keys/asymmetric_type.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/asymmetric_type.c b/crypto/asymmetric_keys/asymmetric_type.c
index cf807654d221..b77eb5304788 100644
--- a/crypto/asymmetric_keys/asymmetric_type.c
+++ b/crypto/asymmetric_keys/asymmetric_type.c
@@ -209,6 +209,7 @@ struct key_type key_type_asymmetric = {
.match = asymmetric_key_match,
.destroy = asymmetric_key_destroy,
.describe = asymmetric_key_describe,
+ .def_lookup_type = KEYRING_SEARCH_LOOKUP_ITERATE,
};
EXPORT_SYMBOL_GPL(key_type_asymmetric);