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.32.37~35 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=913bb1e135157477bd3d16450ca7ef6b67775602;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 [ 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 8548ae7a176c..edd7b7f3b26b 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c @@ -969,7 +969,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);