diff options
author | James Morris <james.l.morris@oracle.com> | 2014-09-22 22:54:56 +1000 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2014-09-22 22:54:56 +1000 |
commit | 35e1efd25a9e7d5cf2884fa23441ab87353849bb (patch) | |
tree | aa0e546b39fa4d0a434919ff106721dfc3777a3d /net/dns_resolver | |
parent | 6f98e892884c32b9273ecce1332b849bcad3b8b1 (diff) | |
parent | d1ac5540455c3a2a11e943e19e2dc044cebe147d (diff) | |
download | linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.tar.gz linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.tar.bz2 linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.zip |
Merge tag 'keys-next-20140922' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next
Diffstat (limited to 'net/dns_resolver')
-rw-r--r-- | net/dns_resolver/dns_key.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/net/dns_resolver/dns_key.c b/net/dns_resolver/dns_key.c index f380b2c58178..31cd4fd75486 100644 --- a/net/dns_resolver/dns_key.c +++ b/net/dns_resolver/dns_key.c @@ -176,11 +176,11 @@ static void dns_resolver_free_preparse(struct key_preparsed_payload *prep) * The domain name may be a simple name or an absolute domain name (which * should end with a period). The domain name is case-independent. */ -static int -dns_resolver_match(const struct key *key, const void *description) +static bool dns_resolver_cmp(const struct key *key, + const struct key_match_data *match_data) { int slen, dlen, ret = 0; - const char *src = key->description, *dsp = description; + const char *src = key->description, *dsp = match_data->raw_data; kenter("%s,%s", src, dsp); @@ -209,6 +209,16 @@ no_match: } /* + * Preparse the match criterion. + */ +static int dns_resolver_match_preparse(struct key_match_data *match_data) +{ + match_data->lookup_type = KEYRING_SEARCH_LOOKUP_ITERATE; + match_data->cmp = dns_resolver_cmp; + return 0; +} + +/* * Describe a DNS key */ static void dns_resolver_describe(const struct key *key, struct seq_file *m) @@ -242,7 +252,7 @@ struct key_type key_type_dns_resolver = { .preparse = dns_resolver_preparse, .free_preparse = dns_resolver_free_preparse, .instantiate = generic_key_instantiate, - .match = dns_resolver_match, + .match_preparse = dns_resolver_match_preparse, .revoke = user_revoke, .destroy = user_destroy, .describe = dns_resolver_describe, |