lkml.org 
[lkml]   [2002]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: one-line-patch against SCSI-Read-Error-BUG()
    Jens Axboe wrote:
    >
    > On Tue, Feb 05 2002, Ralf Oehler wrote:
    > > Hi, List
    > >
    > > I think, I found a very simple solution for this annoying BUG().
    >
    > You fail to understand that the BUG triggering indicates that their is a
    > BUG _somewhere_ -- the triggered BUG is not the bug itself, of course,
    > that would be stupid :-)
    >
    > > Since at least kernel 2.4.16 there is a BUG() in pci.h,
    > > that crashes the kernel on any attempt to read a SCSI-Sector
    > > from an erased MO-Medium and on any attempt to read
    > > a sector from a SCSI-disk, which returns "Read-Error".
    > >
    > > There seems to be a thinko in the corresponding code, which
    > > does not take into account the case where a SCSI-READ
    > > does not return any data because of a "sense code: read error"
    > > or a "sense code: blank sector".
    > >
    > > I simply commented out this BUG() statement (see below)
    > > and everything worked well from there on. The BUG()
    > > seems to be inadequate.
    >
    > The BUG is dangerous, because it means mapping DMA to a 0 address (plus
    > offset). Naturally there is no way in hell your "fix" will be applied,
    > since it a pretty bad bandaid.
    >
    > A safer solution for you right now would be to just terminate the
    > mapping when you encounter this. So something ala
    >
    > if (!sg[i].page && !sg[i].address)
    > return i;
    >
    > That's not a bug fix either, but at least it's safer than your version.
    > Stock kernel won't be patched until the real problem is found, though.

    Jens,
    The sg driver was tripping that BUG() and I have submitted
    a patch for that. However Ralf probably wasn't using sg
    to read his MO disk.

    There are several uses of "sgpnt[i].address" in scsi_lib.c that
    you might like to look at. Can't see any other uses in sd, sr
    or the mid level. Another possibility is a missing memset or
    explicit NULL initialisation on a scatterlist array.

    Doug Gilbert
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:24    [W:0.028 / U:60.540 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site