Re: + mpt-fusion-dont-oops-if-numphys==0.patch added to -mm tree
On Tue, 19 Feb 2008, James Bottomley wrote: On Tue, 2008-02-19 at 15:34 -0800, [EMAIL PROTECTED] wrote: Subject: mpt fusion: don't oops if NumPhys==0 From: Krzysztof Oledzki [EMAIL PROTECTED] 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 [EMAIL PROTECTED] Cc: FUJITA Tomonori [EMAIL PROTECTED] Cc: James Bottomley [EMAIL PROTECTED] Cc: Eric Moore [EMAIL PROTECTED] Cc: Sathya Prakash [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] --- 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
Re: + mpt-fusion-dont-oops-if-numphys==0.patch added to -mm tree
On Wed, 2008-02-20 at 04:17 +0100, Maximilian Wilhelm wrote: Am Wednesday, den 20 February hub Krzysztof Oledzki folgendes in die Tasten: 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. Here it's a Dell 1950 with two 73G SAS disks (RAID1) but having four SAS disk slots. If you need further information about the hardware, just let me know. Is that directly connected or via an internal expander? James - 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
Re: + mpt-fusion-dont-oops-if-numphys==0.patch added to -mm tree
Am Wednesday, den 20 February hub Krzysztof Oledzki folgendes in die Tasten: Hi Krzysztof, * Thanks for CC'ing me. On Tue, 2008-02-19 at 15:34 -0800, [EMAIL PROTECTED] wrote: Subject: mpt fusion: don't oops if NumPhys==0 From: Krzysztof Oledzki [EMAIL PROTECTED] 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 [EMAIL PROTECTED] Cc: FUJITA Tomonori [EMAIL PROTECTED] Cc: James Bottomley [EMAIL PROTECTED] Cc: Eric Moore [EMAIL PROTECTED] Cc: Sathya Prakash [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] --- 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. ACK. Nevertheless my server is working absolutely well with this fix/workaround. No problems at all. 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. Here it's a Dell 1950 with two 73G SAS disks (RAID1) but having four SAS disk slots. If you need further information about the hardware, just let me know. Ciao Max -- Follow the white penguin. - 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