rpms/kernel/FC-4 linux-2.6-dm-crypt-zero-key-before-free.patch, NONE, 1.1 kernel-2.6.spec, 1.1592, 1.1593

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Feb 3 18:58:01 UTC 2006


Author: davej

Update of /cvs/dist/rpms/kernel/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv31947

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-dm-crypt-zero-key-before-free.patch 
Log Message:
dm-crypt: zero key before freeing it


linux-2.6-dm-crypt-zero-key-before-free.patch:
 dm-crypt.c |    5 +++++
 1 files changed, 5 insertions(+)

--- NEW FILE linux-2.6-dm-crypt-zero-key-before-free.patch ---

tree 622374ba69e8430ec2ec8d7b00a3d28990659d45
parent 0b56306e56784d0513e1193d58c05a6bd97bd1a9
author Stefan Rompf <stefan at loplof.de> Fri, 06 Jan 2006 16:20:08 -0800
committer Linus Torvalds <torvalds at g5.osdl.org> Sat, 07 Jan 2006 00:34:01 -0800

[PATCH] dm-crypt: zero key before freeing it

Zap the memory before freeing it so we don't leave crypto information
around in memory.

Signed-off-by: Stefan Rompf <stefan at loplof.de>
Acked-by: Clemens Fruhwirth <clemens at endorphin.org>
Acked-by: Alasdair G Kergon <agk at redhat.com>
Signed-off-by: Andrew Morton <akpm at osdl.org>
Signed-off-by: Linus Torvalds <torvalds at osdl.org>

 drivers/md/dm-crypt.c |    5 +++++
 1 files changed, 5 insertions(+)

diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index cf66310..a601a42 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -690,6 +690,8 @@ bad3:
 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 @@ static void crypt_dtr(struct dm_target *
 		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);
 }
 


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/FC-4/kernel-2.6.spec,v
retrieving revision 1.1592
retrieving revision 1.1593
diff -u -r1.1592 -r1.1593
--- kernel-2.6.spec	3 Feb 2006 16:33:25 -0000	1.1592
+++ kernel-2.6.spec	3 Feb 2006 18:57:58 -0000	1.1593
@@ -351,6 +351,7 @@
 Patch1810: linux-2.6-pwc-powerup-by-default.patch
 Patch1820: linux-2.6-net-acenic-use-after-free.patch
 Patch1830: linux-2.6-smsc-ircc2-pnp.patch
+Patch1840: linux-2.6-dm-crypt-zero-key-before-free.patch
 Patch1860: linux-2.6-posix-timers-sched_time-accumulation.patch
 Patch1880: linux-2.6-i2c-it87-reboot.patch
 Patch1890: linux-2.6-dcache-inode-leak.patch
@@ -791,6 +792,8 @@
 %patch1820 -p1
 # PNP support for smsc-ircc2
 %patch1830 -p1
+# dm-crypt: zero key before freeing it
+%patch1840 -p1
 # Fix posix-cpu-timers sched_time accumulation
 %patch1860 -p1
 # Some it87 probing causes reboots on some systems.
@@ -1275,6 +1278,7 @@
 %changelog
 * Fri Feb  3 2006 Dave Jones <davej at redhat.com>
 - Make 'quiet' work again.
+- dm-crypt: zero key before freeing it
 
 * Thu Feb  2 2006 Dave Jones <davej at redhat.com> [2.6.15-1.1830_FC4]
 - Remove r8169 debugging.




More information about the fedora-cvs-commits mailing list