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 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html