RE: A bug RedHat AS 4.0 kernel , is it correct, can anyone confirm

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

 



Thanks for confirming and suggestion. I have already forwarded this post to linux-scsi@xxxxxxxxxxxxxxx yesterday after posting here, waiting for a response though.

Thanks and Regards
Deepak

-----Original Message-----
From: kernelnewbies-bounce@xxxxxxxxxxxx
[mailto:kernelnewbies-bounce@xxxxxxxxxxxx]On Behalf Of Greg Freemyer
Sent: Friday, March 04, 2005 1:49 PM
To: Kotian, Deepak
Cc: kernelnewbies@xxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx
Subject: Re: A bug RedHat AS 4.0 kernel , is it correct, can anyone
confirm


I would confirm that 2.6.11 seems to have the same bug.

If so, ask on the linux-scsi (linux-scsi@xxxxxxxxxxxxxxx) list.  The
SCSI midlayer is supported there and it is a fairly low volume list
that several SAN vendors monitor.  If the vanilla kernel has a bug
like you describe, someone will likely post a patch quickly to fix it.
 You should then be able to apply the patch to the RH kernel (voiding
your support), or hopefully RH will pickup the patch and apply it to
their kernel in a timely manner.

Also, if you are as interested in the SCSI midlayer as you appear, you
should probably join the linux-scsi list just to see what is going on
and what problems are being reported.

I been subscribed for a couple months and the most significant
activity I've seen is that several of the FC HPA vendors are moving
logic out of their drivers and into the shared code.

Greg
-- 
Greg Freemyer

On Fri, 4 Mar 2005 15:26:37 +0530, Kotian, Deepak
<Deepak.Kotian@xxxxxxxxx> wrote:
> A bug RedHat AS 4.0 kernel , is it correct, can anyone confirm
> 
> Bug Description :-
> The SCSI_IOCTL_GET_IDLUN ioctl fails for LUN number > 255
> 
> Bug Details :-
> The  scsi_idlun structure is defined as follows
> typedef struct scsi_idlun {
> __u32 dev_id;
> __u32 host_unique_id;
> } Scsi_Idlun;
> 
> The dev_id is a 32 bit value and the HCLT is encoded here.
> This is derived from the following code in scsi_ioctl.c
> 
> int scsi_ioctl(struct scsi_device *sdev, int cmd, void *arg)
> {
> .....
>  case SCSI_IOCTL_GET_IDLUN:
> if (verify_area(VERIFY_WRITE, arg, sizeof(struct scsi_idlun)))
>         return -EFAULT;
> __put_user((sdev->id & 0xff)
>         + ((sdev->lun & 0xff) << 8)
>         + ((sdev->channel & 0xff) << 16)
>         + ((sdev->host->host_no & 0xff) << 24),
>         &((struct scsi_idlun *)arg)->dev_id);
>         __put_user(sdev->host->unique_id,
>                 &((struct scsi_idlun *)arg)->host_unique_id);
> .......
> }
> 
> This code clearly indicates that all the values (i.e H,C,L and T) are anded with 0xff and hence the limitation for each value (including LUN value) becomes 255.
> 
> But the scsi mid layer has the support for 512 LUNs.
> 
> So if one has to obtain the LUN number for LUNs > 255 the SCSI_IOCTL_GET_IDLUN ioctl would fail.
> 
> Thanks and Regards
> Dee[al
> 
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
> 
>

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux