Re: + mpt-fusion-dont-oops-if-numphys==0.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Tue, 19 Feb 2008, James Bottomley wrote:


On Tue, 2008-02-19 at 15:34 -0800, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
Subject: mpt fusion: don't oops if NumPhys==0
From: Krzysztof Oledzki <olel@xxxxxx>

Don't oops if NumPhys==0, instead return -ENODEV.
This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=9909

Signed-off-by: Krzysztof Piotr Oledzki <ole@xxxxxx>
Cc: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Cc: Eric Moore <Eric.Moore@xxxxxxx>
Cc: Sathya Prakash <sathya.prakash@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/message/fusion/mptsas.c |    5 +++++
 1 file changed, 5 insertions(+)

diff -puN drivers/message/fusion/mptsas.c~mpt-fusion-dont-oops-if-numphys==0 drivers/message/fusion/mptsas.c
--- a/drivers/message/fusion/mptsas.c~mpt-fusion-dont-oops-if-numphys==0
+++ a/drivers/message/fusion/mptsas.c
@@ -1701,6 +1701,11 @@ mptsas_sas_expander_pg0(MPT_ADAPTER *ioc
 	if (error)
 		goto out_free_consistent;

+	if (!buffer->NumPhys) {
+		error = -ENODEV;
+		goto out_free_consistent;
+	}
+
 	/* save config data */
 	port_info->num_phys = buffer->NumPhys;
 	port_info->phy_info = kcalloc(port_info->num_phys,
_

This is a bit odd ... It looks like a work around for a fusion firmware
problem.

Workaround or not, the driver should not oops by allocating 0 size memory block and dereferencing it. It used to work in <2.6.23 but not now.

What's the topology this thing is connected to?

It is a Dell-1950III server with two 400GB SAS disks (RAID1) installed in a dwo disk SAS backplane.

Best regrds,

			Krzysztof Olędzki

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux