EDAC, i82975x: Add ioremap_nocache() error handling
authorArvind Yadav <arvind.yadav.cs@gmail.com>
Mon, 16 Jan 2017 06:44:52 +0000 (12:14 +0530)
committerBorislav Petkov <bp@suse.de>
Mon, 16 Jan 2017 10:09:22 +0000 (11:09 +0100)
If ioremap_nocache() fails, it will return NULL. Which will then cause a
NULL-pointer dereference. Handle the returned value properly.

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
Cc: "Arvind R." <arvino55@gmail.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Link: http://lkml.kernel.org/r/1484549092-11349-1-git-send-email-arvind.yadav.cs@gmail.com
[ Boris: massage commit message and improve error message. ]
Signed-off-by: Borislav Petkov <bp@suse.de>
drivers/edac/i82975x_edac.c

index 7baa8ace267bb3350f93a4ba8b1eca91537183e8..9dcdab28f66535f9fadf8ad116eca7d059fd2f06 100644 (file)
@@ -494,6 +494,10 @@ static int i82975x_probe1(struct pci_dev *pdev, int dev_idx)
        }
        mchbar &= 0xffffc000;   /* bits 31:14 used for 16K window */
        mch_window = ioremap_nocache(mchbar, 0x1000);
+       if (!mch_window) {
+               edac_dbg(3, "error ioremapping MCHBAR!\n");
+               goto fail0;
+       }
 
 #ifdef i82975x_DEBUG_IOMEM
        i82975x_printk(KERN_INFO, "MCHBAR real = %0x, remapped = %p\n",