Browse Source

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>
Wei Yongjun 12 years ago
parent
commit
bafff1743f
1 changed files with 2 additions and 1 deletions
  1. 2 1
      arch/s390/pci/pci_dma.c

+ 2 - 1
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]);