Skip to contentSkip to conversation

mvsas: bugfix for NULL pointer execption

PATCH In review Ying Chu 4 participants 4 messages May 8, 2009 – May 9, 2009 SCSI

lore
Share & tools
lore

Ying Chu

author
#0 lore raw

PATCH 1/4 mvsas: bugfix for NULL pointer execption

Quoted 1 line

From 347191384292c6e9a9a572c657049bc11615fb82 Mon Sep 17 00:00:00 2001

From: Andy <[email protected]>
Date: Mon, 4 May 2009 23:29:26 +0800
Subject: [PATCH 1/4] mvsas: bug fix, null pointer may be used

Null pointer exception when mvi_dev is null.

---
 drivers/scsi/mvsas/mv_sas.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
drivers/scsi/mvsas/mv_sas.c +4 -4
index d79ac17..318ec01 100644
@@ -1873,11 +1873,11 @@ int mvs_slot_complete(struct mvs_info *mvi, u32 rx_desc, u32 flags)
 	}
 
 out:
-	if (mvi_dev)
+	if (mvi_dev) {
 		mvi_dev->runing_req--;
-	if (sas_protocol_ata(task->task_proto))
-		mvs_free_reg_set(mvi, mvi_dev);
-
+		if (sas_protocol_ata(task->task_proto))
+			mvs_free_reg_set(mvi, mvi_dev);
+	}
 	mvs_slot_task_free(mvi, task, slot, slot_idx);
 	sts = tstat->stat;
 
Signature · 5 lines
1.6.0.3

-- 
Regards,
Ying Chu
maintainer
#1 lore raw
Quoted 6 lines · Ying Chu
Quoted 1 line

From 347191384292c6e9a9a572c657049bc11615fb82 Mon Sep 17 00:00:00 2001

From: Andy <[email protected]>
Date: Mon, 4 May 2009 23:29:26 +0800
Subject: [PATCH 1/4] mvsas: bug fix, null pointer may be used

Null pointer exception when mvi_dev is null.

A little more explanation might be helpful. It looks to me that you get this issue when you have in-flight I/O to a device we've been notified has gone (because you NULL out lldd_dev in the removal notification routine).

In which case, don't we have other races where this can happen, like in mvs_I_T_nexus_reset()?

James

#2 lore raw
Quoted 8 lines · James Bottomley
Quoted 6 lines · Ying Chu
Quoted 1 line

From 347191384292c6e9a9a572c657049bc11615fb82 Mon Sep 17 00:00:00 2001

From: Andy <[email protected]>
Date: Mon, 4 May 2009 23:29:26 +0800
Subject: [PATCH 1/4] mvsas: bug fix, null pointer may be used

Null pointer exception when mvi_dev is null.

Quoted 7 lines

A little more explanation might be helpful. It looks to me that you get this issue when you have in-flight I/O to a device we've been notified has gone (because you NULL out lldd_dev in the removal notification routine).

In which case, don't we have other races where this can happen, like in mvs_I_T_nexus_reset()?

Agreed...

#3 lore raw

James,
This case happens with irq coming late, the device may be gone when the irq is gotten, other cases are in normal stage, lldd_dev won't be null.

Regards
Andy Yan

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Jeff Garzik
Sent: 2009年5月9日 6:06
To: James Bottomley
Cc: Ying Chu; [email protected]
Subject: Re: [PATCH 1/4] mvsas: bugfix for NULL pointer execption

Quoted 8 lines · James Bottomley
Quoted 6 lines · Ying Chu
Quoted 1 line

From 347191384292c6e9a9a572c657049bc11615fb82 Mon Sep 17 00:00:00 2001

From: Andy <[email protected]>
Date: Mon, 4 May 2009 23:29:26 +0800
Subject: [PATCH 1/4] mvsas: bug fix, null pointer may be used

Null pointer exception when mvi_dev is null.

Quoted 7 lines

A little more explanation might be helpful. It looks to me that you get this issue when you have in-flight I/O to a device we've been notified has gone (because you NULL out lldd_dev in the removal notification routine).

In which case, don't we have other races where this can happen, like in mvs_I_T_nexus_reset()?

Agreed...

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html