]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - security/keys/key.c
KEYS: Merge the type-specific data with the payload data
[karo-tx-linux.git] / security / keys / key.c
index c0478465d1ac2db54c90563ea3a09d35836fa86e..ab7997ded7255258365169abaf820e811e0a7768 100644 (file)
@@ -554,7 +554,7 @@ int key_reject_and_link(struct key *key,
        if (!test_bit(KEY_FLAG_INSTANTIATED, &key->flags)) {
                /* mark the key as being negatively instantiated */
                atomic_inc(&key->user->nikeys);
-               key->type_data.reject_error = -error;
+               key->reject_error = -error;
                smp_wmb();
                set_bit(KEY_FLAG_NEGATIVE, &key->flags);
                set_bit(KEY_FLAG_INSTANTIATED, &key->flags);
@@ -1046,14 +1046,14 @@ int generic_key_instantiate(struct key *key, struct key_preparsed_payload *prep)
 
        ret = key_payload_reserve(key, prep->quotalen);
        if (ret == 0) {
-               key->type_data.p[0] = prep->type_data[0];
-               key->type_data.p[1] = prep->type_data[1];
-               rcu_assign_keypointer(key, prep->payload[0]);
-               key->payload.data2[1] = prep->payload[1];
-               prep->type_data[0] = NULL;
-               prep->type_data[1] = NULL;
-               prep->payload[0] = NULL;
-               prep->payload[1] = NULL;
+               rcu_assign_keypointer(key, prep->payload.data[0]);
+               key->payload.data[1] = prep->payload.data[1];
+               key->payload.data[2] = prep->payload.data[2];
+               key->payload.data[3] = prep->payload.data[3];
+               prep->payload.data[0] = NULL;
+               prep->payload.data[1] = NULL;
+               prep->payload.data[2] = NULL;
+               prep->payload.data[3] = NULL;
        }
        pr_devel("<==%s() = %d\n", __func__, ret);
        return ret;