All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Li Zhong <zhong@linux.vnet.ibm.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	linux-scsi@vger.kernel.org,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	"Martin K. Petersen" <mkp@mkp.net>
Subject: Re: [PATCH scsi] Add NULL checking of return value from scsi_cmd_to_driver()
Date: Mon, 24 Sep 2012 11:35:04 +0400	[thread overview]
Message-ID: <1348472104.2467.8.camel@dabdike> (raw)
In-Reply-To: <1348470210.2475.47.camel@ThinkPad-T420>

On Mon, 2012-09-24 at 15:03 +0800, Li Zhong wrote:
> On Mon, 2012-09-24 at 09:44 +0400, James Bottomley wrote:
> > On Mon, 2012-09-24 at 13:30 +0800, Li Zhong wrote:
> > > Just noticed that after commit 919f797, it is possible that 
> > > scsi_cmd_to_driver() returns NULL. This patch adds the NULL checking for drv 
> > > returned from the above function. 
> > > 
> > > Maybe it is not possible at run time, but from the code itself, we'd better
> > > have this check?  
> > 
> > There's not much point having a check that never trips, unless it's an
> > assert, in which case a NULL deref does that.  All it does is add
> > pointless instructions to the critical path.  only REQ_TYPE_BLOCK_PC
> > commands can be submitted without a driver, so the check above would
> > seem to preclude that.
> 
> Hi James, 
> 
> Thank you, it sounds reasonable to me. Let's drop it. 

Well, there is another thing you might do: The path length of
scsi_cmd_to_driver() increased a lot thanks to 18a4d0a22ed6 it might be
worth getting it back to what it was (this looks to be doable with the
same != REQ_TYPE_BLOCK_PC test in the error handler.  Plus, I think it
fixes a bug where you get different behaviours from REQ_TYPE_BLOCK_PC
commands when a driver is and isn't attached (I've cc'd Martin to see
what he thinks).

James

  reply	other threads:[~2012-09-24  7:35 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-24  5:30 [PATCH scsi] Add NULL checking of return value from scsi_cmd_to_driver() Li Zhong
2012-09-24  5:44 ` James Bottomley
2012-09-24  7:03   ` Li Zhong
2012-09-24  7:35     ` James Bottomley [this message]
2012-09-24  9:25       ` Li Zhong
2012-09-24  9:33         ` James Bottomley
2012-09-27  2:02       ` Martin K. Petersen
2012-09-27  4:44         ` James Bottomley
2012-09-27  9:51           ` [PATCH scsi] Short the path length of scsi_cmd_to_driver() Li Zhong
2012-09-27 17:43             ` Martin K. Petersen
2012-09-28  7:13               ` Li Zhong
2012-09-28  7:45               ` James Bottomley
2012-09-27 17:41           ` [PATCH scsi] Add NULL checking of return value from scsi_cmd_to_driver() Martin K. Petersen
2012-09-28  7:48             ` James Bottomley
2012-09-29  4:23               ` [PATCH v2 scsi] Short the path length of scsi_cmd_to_driver() Li Zhong
2012-10-02 22:22                 ` Martin K. Petersen

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=1348472104.2467.8.camel@dabdike \
    --to=james.bottomley@hansenpartnership.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mkp@mkp.net \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=zhong@linux.vnet.ibm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.