Re: [PATCHv2 25/59] keys/mktme: Preparse the MKTME key payload

From: Ben Boeckel
Date: Mon Aug 05 2019 - 07:58:25 EST


On Wed, Jul 31, 2019 at 18:07:39 +0300, Kirill A. Shutemov wrote:
> From: Alison Schofield <alison.schofield@xxxxxxxxx>
> +/* Make sure arguments are correct for the TYPE of key requested */
> +static int mktme_check_options(u32 *payload, unsigned long token_mask,
> + enum mktme_type type, enum mktme_alg alg)
> +{
> + if (!token_mask)
> + return -EINVAL;
> +
> + switch (type) {
> + case MKTME_TYPE_CPU:
> + if (test_bit(OPT_ALGORITHM, &token_mask))
> + *payload |= (1 << alg) << 8;
> + else
> + return -EINVAL;
> +
> + *payload |= MKTME_KEYID_SET_KEY_RANDOM;
> + break;
> +
> + case MKTME_TYPE_NO_ENCRYPT:
> + *payload |= MKTME_KEYID_NO_ENCRYPT;
> + break;

The documentation states that for `type=no-encrypt`, algorithm must not
be specified at all. Where is that checked?

--Ben