staging/rdma/hfi1: Fix a possible null pointer dereference
authorEaswar Hariharan <easwar.hariharan@intel.com>
Thu, 10 Dec 2015 16:13:38 +0000 (11:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Dec 2015 22:00:17 +0000 (14:00 -0800)
A code inspection pointed out that kmalloc_array may return NULL and
memset doesn't check the input pointer for NULL, resulting in a possible
NULL dereference. This patch fixes this.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Easwar Hariharan <easwar.hariharan@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rdma/hfi1/chip.c

index d88945a..371f13f 100644 (file)
@@ -13358,6 +13358,8 @@ static void init_qos(struct hfi1_devdata *dd, u32 first_ctxt)
        if (num_vls * qpns_per_vl > dd->chip_rcv_contexts)
                goto bail;
        rsmmap = kmalloc_array(NUM_MAP_REGS, sizeof(u64), GFP_KERNEL);
+       if (!rsmmap)
+               goto bail;
        memset(rsmmap, rxcontext, NUM_MAP_REGS * sizeof(u64));
        /* init the local copy of the table */
        for (i = 0, ctxt = first_ctxt; i < num_vls; i++) {