public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Dirk Hohndel <hohndel@infradead.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>,
	linux-usb@vger.kernel.org,
	Matthew Dharm <mdharm-usb@one-eyed-alien.net>,
	linux-scsi@vger.kernel.org
Subject: Re: strange USB storage failure with 2.6.29-rc2
Date: Wed, 28 Jan 2009 09:14:06 -0800	[thread overview]
Message-ID: <20090128091406.316a80fc@infradead.org> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0901281141300.3134-100000@iolanthe.rowland.org>

On Wed, 28 Jan 2009 11:54:39 -0500 (EST)
Alan Stern <stern@rowland.harvard.edu> wrote:

> > > So the real question is: Who is responsible for sending that Eject 
> > > command?  It certainly isn't usb-storage or any other part of the USB 
> > > stack.  Maybe something in the SCSI disk driver or maybe a user 
> > > program.
> > 
> > That's one valid question... maybe someone on the linux-scsi list can
> > sched some light onto this? Are there SCSI specific debugging options I
> > should turn on?
> 
> I don't see anything in the sd driver that could have done it.  And I 
> don't know where else in the kernel it would have come from -- which is 
> not to say that I'm familiar with every part of the kernel!

I did some greping and couldn't find anything suspicious, either.

> > The other one is "why isn't the USB stack filtering that command when
> > it comes down from SCSI?"
> 
> The USB stack doesn't do any filtering.  The SCSI stack is supposed to 
> know what commands should and should not be sent.
> 
> Furthermore, it seems quite likely this command was sent by userspace, 
> not by the SCSI stack -- in which case the program is supposed to know 
> what commands it shouldn't send.

Not sure I agree with that logic. If the USB stack KNOWS that
non-removable devices get upset by this command, then it would be
appropriate for it to filter those out - to protect from bugs as much
as to protect from denial of service attacks.

> > Maybe we need to bring such code back?
> 
> Definitely not!  The correct approach to is to find the program
> responsible for sending that command and fix it.

That's definitely something we should do (and I will continue to hunt
this down), but my logic above still applies. I think this should have
a WARN_ON around it, but should still be filtered.
 
> Unfortunately, I don't know any easy way to identify programs as they 
> send SCSI commands.  I suppose you could add some debugging statements 
> in block/scsi_ioctl.c and drivers/scsi/sg.c to monitor all those 
> commands as they come in from userspace.  There are several different 
> pathways for this, and the command could come from any of them.

That's why I copied the scsi list, hoping that they have some tools /
ideas how to do this.
 
> Or you could guess that the offending command is sent by a
> system/desktop utility, such as hal or udev.  Have you added or changed
> any software in that area recently?

As I mentioned, I tried this in runlevel 3 - no desktop running. And
this is on an (as far as I can remember) unmodified F10 64bit... so I'm
surprised that I appear to be the only one reporting this; which of
course makes me challenge my own "unmodified" statement :-)

/D

-- 
Dirk Hohndel
Intel Open Source Technology Center

  reply	other threads:[~2009-01-28 17:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090127122641.1564fc46@infradead.org>
     [not found] ` <Pine.LNX.4.44L0.0901271548370.2286-100000@iolanthe.rowland.org>
     [not found]   ` <Pine.LNX.4.44L0.0901271548370.2286-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2009-01-28  4:06     ` strange USB storage failure with 2.6.29-rc2 Dirk Hohndel
     [not found]       ` <20090127200607.369a1693-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-01-28 16:54         ` Alan Stern
2009-01-28 17:14           ` Dirk Hohndel [this message]
2009-01-28 17:47             ` Alan Stern
2009-01-28 19:59               ` Dirk Hohndel
2009-01-28 20:14                 ` Alan Stern
     [not found]             ` <20090128091406.316a80fc-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-01-28 17:59               ` James Bottomley
2009-01-28 20:01                 ` Dirk Hohndel
2009-01-28 21:13                   ` Pete Zaitcev
2009-01-28 21:23                   ` Alan Stern
2009-01-28 21:29                     ` Pete Zaitcev
     [not found]                       ` <20090128142915.3b6f1949.zaitcev-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-01-28 21:41                         ` Alan Stern
2009-01-28 21:49                         ` Oliver Neukum
     [not found]                     ` <Pine.LNX.4.44L0.0901281622210.2231-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2009-01-28 22:39                       ` Dirk Hohndel
2009-01-28 21:10         ` Pete Zaitcev
     [not found]           ` <20090128141035.3a26ea60.zaitcev-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-01-28 21:21             ` Alan Stern
2009-01-28 21:22           ` Dirk Hohndel
     [not found]             ` <20090128132228.3f1e2f8a-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-01-28 21:27               ` Pete Zaitcev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090128091406.316a80fc@infradead.org \
    --to=hohndel@infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mdharm-usb@one-eyed-alien.net \
    --cc=sarah.a.sharp@linux.intel.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox