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.34.11~159 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=27bd93e2e7df17970903d9f658964d6415fd25a6;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: Paul Gortmaker --- diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 6ab53814ceee..7f95fec90268 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c @@ -956,7 +956,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);