

Patch from steve cameron <steve.cameron@hp.com>

Fix overrun if you have more than 16 attached tape drives + tape changers.
Thanks to Mike Anderson for pointing this out.




 block/cciss_scsi.c |    6 ++++++
 1 files changed, 6 insertions(+)

diff -puN drivers/block/cciss_scsi.c~cciss-overrun-fix drivers/block/cciss_scsi.c
--- 25/drivers/block/cciss_scsi.c~cciss-overrun-fix	2003-02-14 18:24:07.000000000 -0800
+++ 25-akpm/drivers/block/cciss_scsi.c	2003-02-14 18:24:07.000000000 -0800
@@ -1106,6 +1106,12 @@ cciss_update_non_disk_devices(int cntl_n
 		{
 		  case 0x01: /* sequential access, (tape) */
 		  case 0x08: /* medium changer */
+			if (ncurrent >= CCISS_MAX_SCSI_DEVS_PER_HBA) {
+				printk(KERN_INFO "cciss%d: %s ignored, "
+					"too many devices.\n", cntl_num,
+					DEVICETYPE(devtype));
+				break;
+			}
 			memcpy(&currentsd[ncurrent].scsi3addr[0], 
 				&scsi3addr[0], 8);
 			currentsd[ncurrent].devtype = devtype;

_
