Re: [PATCH v3 7/7] crypto: AF_ALG - add support for key_id

From: Tadeusz Struk
Date: Wed Mar 30 2016 - 13:25:14 EST


Hi David,
On 03/30/2016 09:31 AM, David Howells wrote:
>> + keyring = request_key(&key_type_asymmetric, key_name, NULL);
>> > +
>> > + err = -ENOKEY;
>> > + if (IS_ERR(keyring))
>> > + goto out;
>> > +
>> > + pkey = keyring->payload.data[asym_crypto];
> NAK. This is liable to crash in future. You may not assume that you know
> what keyring->payload.data[asym_crypto] points to.
>
> You may not use struct public_key outside of crypto/asymmetric_key/. It's the
> internal data of the software subtype. I'll move it out of the global header
> to remove the temptation;-).
>
> You must use accessor functions such as verify_signature(). Feel free to add
> further accessor functions such as query_asym_capabilities(),
> create_signature(), encrypt_blob() and decrypt_blob() or something like that.

Thanks for your response. I thought that the public_key_query_sw_key(pkey)
check was enough for now.
I'll remove public_key stuff from af_alg and add the accessors.
Thanks,
--
TS