s390/pci: fix potential NULL pointer dereference in dma_free_seg_table()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Mon, 3 Dec 2012 15:15:00 +0000 (16:15 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 3 Dec 2012 15:44:11 +0000 (10:44 -0500)
The dereference to 'zdev' should be moved below the NULL test.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/pci/pci_dma.c

index de48625..c64b4b2 100644 (file)
@@ -193,12 +193,13 @@ static void dma_free_seg_table(unsigned long entry)
 
 static void dma_cleanup_tables(struct zpci_dev *zdev)
 {
-       unsigned long *table = zdev->dma_table;
+       unsigned long *table;
        int rtx;
 
        if (!zdev || !zdev->dma_table)
                return;
 
+       table = zdev->dma_table;
        for (rtx = 0; rtx < ZPCI_TABLE_ENTRIES; rtx++)
                if (reg_entry_isvalid(table[rtx]))
                        dma_free_seg_table(table[rtx]);