All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: James Bottomley <James.Bottomley@SteelEye.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	linux-scsi@vger.kernel.org, akpm@osdl.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH]: Fix old SCSI adapter crashes with CD-ROM (take 2)
Date: Tue, 8 May 2007 18:52:58 +0200	[thread overview]
Message-ID: <20070508165258.GE4163@kernel.dk> (raw)
In-Reply-To: <4640A972.3010108@cs.wisc.edu>

On Tue, May 08 2007, Mike Christie wrote:
> James Bottomley wrote:
> > On Tue, 2007-05-08 at 18:14 +0200, Jens Axboe wrote:
> >> On Tue, May 08 2007, Alan Cox wrote:
> >>> The CD-ROM layer doesn't bounce requests for old ISA controllers (and
> >>> nor should it). However they get injected into the SCSI layer via
> >>> sr_ioctl which also doesn't bounce them and SCSI then passes the buffer
> >>> along to a device with unchecked_isa_dma set which either panics or
> >>> truncates the buffer to 24bits.
> >>>
> >>> According to Jens the right long term fix is for the CD layer to route
> >>> the requests differently but in the mean time this has been tested by a
> >>> victim and verified to sort the problem out. For the other 99.9% of users
> >>> it's a no-op and doesn't bounce data.
> >>>
> >>> Signed-off-by: Alan Cox <alan@redhat.com>
> >> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
> >>
> >> Christoph passed me his patch to get rid of ->generic_packet() in the
> >> cdrom layer, so the work is almost complete. This patch is fine as a
> >> work-around until that gets merged, though.
> > 
> > Actually, I think the new scsi request infrastructure should be doing
> > the bouncing (rather than have it done in each problem path we
> > discover).
> > 
> > Mike Christie tells me we're missing bouncing by accident in the
> > scsi_execute path (but not the scsi_execute_async path).  He says this
> > is the fix he proposed:
> > 
> > http://marc.info/?l=linux-scsi&m=115981479822790&w=2
> > 
> 
> Hey Jens and James, one thing I forgot to mention is that I could not
> remember if I needed an extra bio_get in there. I thought I did not
> because the caller is not touching the bio after the bio_endio calls
> like is done with the blk/bio_map_user path. But I did that patch so
> long ago I do not remember now.

If you don't touch it after bio_endio(), then you don't need to hold an
extra reference to it. I'll add your patch.

-- 
Jens Axboe


  reply	other threads:[~2007-05-08 16:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-08 16:17 [PATCH]: Fix old SCSI adapter crashes with CD-ROM (take 2) Alan Cox
2007-05-08 16:14 ` Jens Axboe
2007-05-08 16:39   ` James Bottomley
2007-05-08 16:40     ` Jens Axboe
2007-05-08 16:52       ` James Bottomley
2007-05-08 17:15         ` Jens Axboe
2007-05-08 16:46     ` Mike Christie
2007-05-08 16:52       ` Jens Axboe [this message]
2007-05-08 17:42     ` Alan Cox
2007-05-08 17:47       ` James Bottomley
2007-05-08 17:53         ` Alan Cox
2007-05-08 17:58           ` James Bottomley

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=20070508165258.GE4163@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=James.Bottomley@SteelEye.com \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.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 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.