From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Date: Mon, 3 Dec 2012 15:15:00 +0000 (+0100)
Subject: s390/pci: fix potential NULL pointer dereference in dma_free_seg_table()
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bafff1743f2b1bda24daba29c59f755aa2d505b7;p=linux.git

s390/pci: fix potential NULL pointer dereference in dma_free_seg_table()

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>
---

diff --git a/arch/s390/pci/pci_dma.c b/arch/s390/pci/pci_dma.c
index de48625b35904..c64b4b294b0a2 100644
--- a/arch/s390/pci/pci_dma.c
+++ b/arch/s390/pci/pci_dma.c
@@ -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]);