Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jan 2000 13:17:51 +0100 (CET)
From:      Soren Schmidt <sos@freebsd.dk>
To:        phk@critter.freebsd.dk (Poul-Henning Kamp)
Cc:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: kern/15956: Off-by-1 error in diskstrategy() triggers bug in ATA
Message-ID:  <200001071217.NAA83738@freebsd.dk>
In-Reply-To: <200001071210.EAA13523@freefall.freebsd.org> from Poul-Henning Kamp at "Jan 7, 2000 04:10:02 am"

next in thread | previous in thread | raw e-mail | index | archive | help
It seems Poul-Henning Kamp wrote:
>  >Index: subr_disk.c
>  >===================================================================
>  >RCS file: /home/CVSROOT/src/sys/kern/subr_disk.c,v
>  >retrieving revision 1.16
>  >diff -u -r1.16 subr_disk.c
>  >--- subr_disk.c	1999/12/19 12:36:41	1.16
>  >+++ subr_disk.c	2000/01/06 21:39:34
>  >@@ -193,7 +193,7 @@
>  > 		return;
>  > 	}
>  > 
>  >-	if (dscheck(bp, dp->d_slice) < 0) {
>  >+	if (dscheck(bp, dp->d_slice) <= 0) {
>  > 		biodone(bp);
>  > 		return;
>  > 	}
>  >
>  >	2) Add belt-and-braces checks to ATA device (this code compiles
>  >	   and links, but I haven't booted from the resultant kernel):
>  
>  This was actually done that way deliberately, but not for any
>  specific reason.
>  
>  Input welcome...

I've put this in the ata drivers:

    /* if it's a null transfer, return immediatly. */
    if (bp->b_bcount == 0) {
        bp->b_resid = 0;
        biodone(bp);
        return;
    }

-Søren


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001071217.NAA83738>