Re: [Patch 2.6] dm-crypt: zero key before freeing it

From: Randy.Dunlap
Date: Wed Jan 04 2006 - 15:27:46 EST


On Wed, 4 Jan 2006, Stefan Rompf wrote:

> Am Mittwoch 04 Januar 2006 21:09 schrieb Arjan van de Ven:
>
> > since a memset right before a free is a very unusual code pattern in the
> > kernel it may well be worth putting a short comment around it to prevent
> > someone later removing it as "optimization"
>
> Valid objection, here is an update (and see, I'm running 2.6.15 now ;-)

A reason "why" would be more helpful that a "what".


> Signed-off-by: Stefan Rompf <stefan@xxxxxxxxx>
> Acked-by: Clemens Fruhwirth <clemens@xxxxxxxxxxxxx>
>
> --- linux-2.6.15/drivers/md/dm-crypt.c.orig 2006-01-04 01:01:16.000000000 +0100
> +++ linux-2.6.15/drivers/md/dm-crypt.c 2006-01-04 21:23:34.000000000 +0100
> @@ -690,6 +690,8 @@
> bad2:
> crypto_free_tfm(tfm);
> bad1:
> + /* Must zero key material before freeing */
> + memset(cc, 0, sizeof(*cc) + cc->key_size * sizeof(u8));
> kfree(cc);
> return -EINVAL;
> }
> @@ -706,6 +708,9 @@
> cc->iv_gen_ops->dtr(cc);
> crypto_free_tfm(cc->tfm);
> dm_put_device(ti, cc->dev);
> +
> + /* Must zero key material before freeing */
> + memset(cc, 0, sizeof(*cc) + cc->key_size * sizeof(u8));
> kfree(cc);
> }
>
> -

--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/