RE: [PATCH] ses: Avoid kernel panic when lun 0 is not mapped

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

 



James,  Can you please take a look at this patch.. 

> -----Original Message-----
> From: Krishnasamy, Somasundaram
> Sent: Monday, February 28, 2011 5:13 PM
> To: linux-scsi@xxxxxxxxxxxxxxx
> Cc: Moger, Babu
> Subject: [PATCH] ses: Avoid kernel panic when lun 0 is not mapped
> 
> During device discovery, scsi mid layer sends INQUIRY command to LUN 0.
> If the LUN 0 is not mapped to host, it creates a temporary scsi_device
> with LUN id 0 and sends REPORT_LUNS command to it. After the REPORT_LUNS
> succeeds, it walks through the LUN table and adds each LUN found to
> sysfs. At the end of REPORT_LUNS lun table scan, it will delete the
> temporary scsi_device of LUN 0.
> 
> When scsi devices are added to sysfs, it calls add_dev function of all
> the registered class interfaces. If ses driver has been registered,
> ses_intf_add() of ses module will be called. This function calls
> scsi_device_enclosure() to check the inquiry data for EncServ bit. Since
> inquiry was not allocated for temporary LUN 0 scsi_device, it will cause
> NULL pointer exception.
> 
> To fix the problem, sdev->inquiry is checked for NULL before reading it.
> 
> Signed-off-by: Somasundaram Krishnasamy
> <Somasundaram.Krishnasamy@xxxxxxx>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
> --- linux-2.6.38-rc6/include/scsi/scsi_device.h.orig	2011-02-28
> 16:12:51.000000000 -0600
> +++ linux-2.6.38-rc6/include/scsi/scsi_device.h	2011-02-28
> 16:16:02.000000000 -0600
> @@ -461,7 +461,7 @@ static inline int scsi_device_qas(struct
>  }
>  static inline int scsi_device_enclosure(struct scsi_device *sdev)
>  {
> -	return sdev->inquiry[6] & (1<<6);
> +	return sdev->inquiry ? (sdev->inquiry[6] & (1<<6)) : 1;
>  }
> 
>  static inline int scsi_device_protection(struct scsi_device *sdev)
> 

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


[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