diff options
author | David Howells <dhowells@redhat.com> | 2015-10-21 09:04:48 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2015-10-21 10:18:36 -0400 |
commit | 146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc (patch) | |
tree | a89ef2cd2e8029b0c09a58739cca0e7e2e68f4db /security/keys/key.c | |
parent | 4adc605edc5f744dcf432241b5996ff6a13d868c (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.c | 18 |
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; |