Tadeusz Struk <tstruk@xxxxxxxxx> wrote: > + pkey = keyring->payload.data[asym_crypto]; > + if (!pkey) { > + key_put(keyring); > + goto out; > + } > + > + err = setkey(private, pkey->key, pkey->keylen); > + key_put(keyring); Note that you may not assume that there's data there that you can use in this manner. The key might be a pointer to some hardware device such as a TPM. I have a TPM asymmetric subtype in progress. I think this really needs to be driven from a keyctl() because you need to let the asymmetric subtype decide how it wants to handle this. I would suggest adding KEYCTL_{ASYM_GETINFO,SIGN,VERIFY,ENCRYPT,DECRYPT} - the problem is how to pass sufficient arguments, how to decrypt the private key and what metadata needs to be passed vs what is inline with the data. David -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html