SG_IO weirdness

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

 



I noticed that when I do two SG_IO ioctls to a target
device (say, tape drive, disk drive, whatever) in which
the first request is well formed (e.g. an inquiry) and the 
second one has a malformed CDB, such that it gets check condition 
with sense key == 5 (ILLEGAL REQUEST), the data buffer returned for 
the second malformed SG_IO request is filled out with the same 
data as was returned for the first successful command (e.g. the 
same inquiry data again.)  I'm using separate data buffers for
the two commands, and memsetting them to zero before calling
ioctl().  I don't think this data is coming from the device,
as it happens with every device I've tried.

Is that normal?  Seems like for a malformed request, the 
data buffer should not be transferred at all, much less
transferred with contents of a prior request's data buffer.

Kernel is 2.6.18 from kernel.org.

The two requests were done from the same process, I haven't
tried two separate processes to see if one process could
by this method access another process's data.  I did try
using two devices, so the first well formed command went 
to one device, and the 2nd, malformed command went to another
device.  In that case, I didn't get the same buffer back again,
but garbage. (some recognizeable strings, "en_US" was in there...)

Is this a problem, or is this a matter of "just don't do that."?

Thanks,

-- steve
-
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