Messages in this thread | | | From | Herbert Xu <> | Subject | Re: [PATCH 02/04] Add dsa crypto ops | Date | Tue, 24 Jan 2006 12:22:02 +1100 |
| |
David H?rdeman <david@2gen.com> wrote: > > +static int dsa_setkey(void *ctx, const u8 *key, unsigned int keylen, u32 *flags) > +{ > + struct dsa_ctx *dctx = ctx; > + > + if (keylen != sizeof(struct key_payload_dsa *)) { > + printk("Invalid key size in dsa_setkey\n"); > + return -EINVAL; > + } > + > + dctx->key = (struct key_payload_dsa *)key; > + return 0; > +}
This is bad. You're putting a pointer to an object with an unknown lifetime into the tfm.
Is there anything wrong with allocating the memory for it and storing the key in the tfm like everyone else?
Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |