These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / net / dns_resolver / dns_key.c
index 31cd4fd..c79b85e 100644 (file)
@@ -122,7 +122,7 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
                                        goto bad_option_value;
 
                                kdebug("dns error no. = %lu", derrno);
-                               prep->type_data[0] = ERR_PTR(-derrno);
+                               prep->payload.data[dns_key_error] = ERR_PTR(-derrno);
                                continue;
                        }
 
@@ -137,8 +137,8 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
 
        /* don't cache the result if we're caching an error saying there's no
         * result */
-       if (prep->type_data[0]) {
-               kleave(" = 0 [h_error %ld]", PTR_ERR(prep->type_data[0]));
+       if (prep->payload.data[dns_key_error]) {
+               kleave(" = 0 [h_error %ld]", PTR_ERR(prep->payload.data[dns_key_error]));
                return 0;
        }
 
@@ -155,7 +155,7 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
        memcpy(upayload->data, data, result_len);
        upayload->data[result_len] = '\0';
 
-       prep->payload[0] = upayload;
+       prep->payload.data[dns_key_data] = upayload;
        kleave(" = 0");
        return 0;
 }
@@ -167,7 +167,7 @@ static void dns_resolver_free_preparse(struct key_preparsed_payload *prep)
 {
        pr_devel("==>%s()\n", __func__);
 
-       kfree(prep->payload[0]);
+       kfree(prep->payload.data[dns_key_data]);
 }
 
 /*
@@ -223,10 +223,10 @@ static int dns_resolver_match_preparse(struct key_match_data *match_data)
  */
 static void dns_resolver_describe(const struct key *key, struct seq_file *m)
 {
-       int err = key->type_data.x[0];
-
        seq_puts(m, key->description);
        if (key_is_instantiated(key)) {
+               int err = PTR_ERR(key->payload.data[dns_key_error]);
+
                if (err)
                        seq_printf(m, ": %d", err);
                else
@@ -241,8 +241,10 @@ static void dns_resolver_describe(const struct key *key, struct seq_file *m)
 static long dns_resolver_read(const struct key *key,
                              char __user *buffer, size_t buflen)
 {
-       if (key->type_data.x[0])
-               return key->type_data.x[0];
+       int err = PTR_ERR(key->payload.data[dns_key_error]);
+
+       if (err)
+               return err;
 
        return user_read(key, buffer, buflen);
 }