aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/key.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-10-21 09:04:48 -0400
committerDavid Howells <dhowells@redhat.com>2015-10-21 10:18:36 -0400
commit146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc (patch)
treea89ef2cd2e8029b0c09a58739cca0e7e2e68f4db /security/keys/key.c
parent4adc605edc5f744dcf432241b5996ff6a13d868c (diff)
KEYS: Merge the type-specific data with the payload data
Merge the type-specific data with the payload data into one four-word chunk as it seems pointless to keep them separate. Use user_key_payload() for accessing the payloads of overloaded user-defined keys. Signed-off-by: David Howells <dhowells@redhat.com> cc: linux-cifs@vger.kernel.org cc: ecryptfs@vger.kernel.org cc: linux-ext4@vger.kernel.org cc: linux-f2fs-devel@lists.sourceforge.net cc: linux-nfs@vger.kernel.org cc: ceph-devel@vger.kernel.org cc: linux-ima-devel@lists.sourceforge.net
Diffstat (limited to 'security/keys/key.c')
-rw-r--r--security/keys/key.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/security/keys/key.c b/security/keys/key.c
index c0478465d1ac..ab7997ded725 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -554,7 +554,7 @@ int key_reject_and_link(struct key *key,
554 if (!test_bit(KEY_FLAG_INSTANTIATED, &key->flags)) { 554 if (!test_bit(KEY_FLAG_INSTANTIATED, &key->flags)) {
555 /* mark the key as being negatively instantiated */ 555 /* mark the key as being negatively instantiated */
556 atomic_inc(&key->user->nikeys); 556 atomic_inc(&key->user->nikeys);
557 key->type_data.reject_error = -error; 557 key->reject_error = -error;
558 smp_wmb(); 558 smp_wmb();
559 set_bit(KEY_FLAG_NEGATIVE, &key->flags); 559 set_bit(KEY_FLAG_NEGATIVE, &key->flags);
560 set_bit(KEY_FLAG_INSTANTIATED, &key->flags); 560 set_bit(KEY_FLAG_INSTANTIATED, &key->flags);
@@ -1046,14 +1046,14 @@ int generic_key_instantiate(struct key *key, struct key_preparsed_payload *prep)
1046 1046
1047 ret = key_payload_reserve(key, prep->quotalen); 1047 ret = key_payload_reserve(key, prep->quotalen);
1048 if (ret == 0) { 1048 if (ret == 0) {
1049 key->type_data.p[0] = prep->type_data[0]; 1049 rcu_assign_keypointer(key, prep->payload.data[0]);
1050 key->type_data.p[1] = prep->type_data[1]; 1050 key->payload.data[1] = prep->payload.data[1];
1051 rcu_assign_keypointer(key, prep->payload[0]); 1051 key->payload.data[2] = prep->payload.data[2];
1052 key->payload.data2[1] = prep->payload[1]; 1052 key->payload.data[3] = prep->payload.data[3];
1053 prep->type_data[0] = NULL; 1053 prep->payload.data[0] = NULL;
1054 prep->type_data[1] = NULL; 1054 prep->payload.data[1] = NULL;
1055 prep->payload[0] = NULL; 1055 prep->payload.data[2] = NULL;
1056 prep->payload[1] = NULL; 1056 prep->payload.data[3] = NULL;
1057 } 1057 }
1058 pr_devel("<==%s() = %d\n", __func__, ret); 1058 pr_devel("<==%s() = %d\n", __func__, ret);
1059 return ret; 1059 return ret;