From: Peter Huewe Date: Tue, 29 Mar 2011 11:31:25 +0000 (+0200) Subject: char/tpm: Fix unitialized usage of data buffer X-Git-Tag: v2.6.35.14~322 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8f6e8f4068274710a9d6aaad0089a13494daf753;p=karo-tx-linux.git char/tpm: Fix unitialized usage of data buffer commit 1309d7afbed112f0e8e90be9af975550caa0076b upstream. This patch fixes information leakage to the userspace by initializing the data buffer to zero. Reported-by: Peter Huewe Signed-off-by: Peter Huewe Signed-off-by: Marcel Selhorst Signed-off-by: Andi Kleen [ Also removed the silly "* sizeof(u8)". If that isn't 1, we have way deeper problems than a simple multiplication can fix. - Linus ] Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 2ec5f33cdbd0..12c089863e59 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c @@ -970,7 +970,7 @@ int tpm_open(struct inode *inode, struct file *file) return -EBUSY; } - chip->data_buffer = kmalloc(TPM_BUFSIZE * sizeof(u8), GFP_KERNEL); + chip->data_buffer = kzalloc(TPM_BUFSIZE, GFP_KERNEL); if (chip->data_buffer == NULL) { clear_bit(0, &chip->is_open); put_device(chip->dev);