On Fri, Feb 25, 2005 at 01:26:50PM -0800, Mark Haverkamp wrote: > I wonder if it wouldn't be better to just check the error return before > the index value.
It's all the same to me. In drivers/scsi/sd.c:sd_probe: int index; ... spin_lock(&sd_index_lock); error = idr_get_new(&sd_index_idr, NULL, &index); spin_unlock(&sd_index_lock); if (index >= SD_MAX_DISKS) error = -EBUSY; if (error) goto out_put; Note that if idr_get_new() fails, index remains uninitialized. If it happens to be >= SD_MAX_DISKS, the error returned from idr_get_new will be clobbered. Patch initializes checks error code from idr_get_new before accessing index. Signed-off-by: Kenn Humborg <[EMAIL PROTECTED]> --- src/drivers/scsi/sd.c-2.6.10 2005-02-25 21:02:17.000000000 +0000 +++ src/drivers/scsi/sd.c 2005-03-01 23:21:04.539648136 +0000 @@ -1438,7 +1438,7 @@ error = idr_get_new(&sd_index_idr, NULL, &index); spin_unlock(&sd_index_lock); - if (index >= SD_MAX_DISKS) + if (!error && (index >= SD_MAX_DISKS)) error = -EBUSY; if (error) goto out_put; - 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