char: tpm: Add missing error check for devm_kzalloc
authorKiran Padwal <kiran.padwal@smartplayin.com>
Fri, 19 Sep 2014 07:14:39 +0000 (12:44 +0530)
committerPeter Huewe <peterhuewe@gmx.de>
Sat, 17 Jan 2015 13:00:05 +0000 (14:00 +0100)
Currently these driver are missing a check on the return value of devm_kzalloc,
which would cause a NULL pointer dereference in a OOM situation.

This patch adds a missing check for tpm_i2c_atmel.c and tpm_i2c_nuvoton.c

Cc: stable@vger.kernel.org
Signed-off-by: Kiran Padwal <kiran.padwal@smartplayin.com>
Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
drivers/char/tpm/tpm_i2c_atmel.c
drivers/char/tpm/tpm_i2c_nuvoton.c

index 7727292..503a85a 100644 (file)
@@ -168,6 +168,10 @@ static int i2c_atmel_probe(struct i2c_client *client,
 
        chip->vendor.priv = devm_kzalloc(dev, sizeof(struct priv_data),
                                         GFP_KERNEL);
+       if (!chip->vendor.priv) {
+               rc = -ENOMEM;
+               goto out_err;
+       }
 
        /* Default timeouts */
        chip->vendor.timeout_a = msecs_to_jiffies(TPM_I2C_SHORT_TIMEOUT);
index 7b158ef..23c7b13 100644 (file)
@@ -538,6 +538,11 @@ static int i2c_nuvoton_probe(struct i2c_client *client,
 
        chip->vendor.priv = devm_kzalloc(dev, sizeof(struct priv_data),
                                         GFP_KERNEL);
+       if (!chip->vendor.priv) {
+               rc = -ENOMEM;
+               goto out_err;
+       }
+
        init_waitqueue_head(&chip->vendor.read_queue);
        init_waitqueue_head(&chip->vendor.int_queue);