[SCSI] mpt2sas: add missing allocation check
authorTomas Henzl <thenzl@redhat.com>
Mon, 13 Feb 2012 17:29:58 +0000 (18:29 +0100)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 19 Feb 2012 15:37:10 +0000 (09:37 -0600)
The __get_free_pages can fail, so the return value should be checked.
Spotted thanks to Stanislaw.

Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: "Nandigama, Nagalakshmi" <Nagalakshmi.Nandigama@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/mpt2sas/mpt2sas_base.c

index a78036f5e1a60565256d2576f02cde3c2343149a..82fa6ce481f0c131855667fbfda247d620cb2bfa 100644 (file)
@@ -2575,6 +2575,11 @@ _base_allocate_memory_pools(struct MPT2SAS_ADAPTER *ioc,  int sleep_flag)
 
        ioc->chain_lookup = (struct chain_tracker *)__get_free_pages(
            GFP_KERNEL, ioc->chain_pages);
+       if (!ioc->chain_lookup) {
+               printk(MPT2SAS_ERR_FMT "chain_lookup: get_free_pages failed, "
+                   "sz(%d)\n", ioc->name, (int)sz);
+               goto out;
+       }
        ioc->chain_dma_pool = pci_pool_create("chain pool", ioc->pdev,
            ioc->request_sz, 16, 0);
        if (!ioc->chain_dma_pool) {