kern/59103: Serious data corruiption reading compact flash IDE drives

Greg 'groggy' Lehey grog at blackwater.lemis.com
Sun Nov 9 21:40:09 PST 2003


>Number:         59103
>Category:       kern
>Synopsis:       Serious data corruiption reading compact flash IDE drives
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 09 21:40:06 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Greg 'groggy' Lehey
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
LEMIS (SA) Pty Ltd
>Environment:
System: FreeBSD wantadilla.lemis.com 5.0-CURRENT FreeBSD 5.0-CURRENT #1: Sat Oct 26 11:16:38 CST 2002 grog at current.lemis.com:/usr/obj/src/FreeBSD/5-CURRENT-WANTADILLA/src/sys/WANTADILLA i386


        FreeBSD sydney.worldwide.lemis.com 5.1-CURRENT FreeBSD 5.1-CURRENT #2: Thu Oct  9 18:20:30 CST 2003     grog at sydney.worldwide.lemis.com:/home/obj/src/FreeBSD/5-CURRENT-KONDOPARINGA/src/sys/KONDOPARINGA  i386

>Description:

        It is no longer possible to read CF cards with FAT file
        systems (digital camera data) with -CURRENT.  This situation
        has persisted for well over a month.

	I have given this PR the category critical/high because of the
	data corruption and the fact that it occurs in what is to
	become a part of the base kernel.  Ideally, the change to this
	implementatino should not have occurred until such bugs were
	ironed out.

>How-To-Repeat:
        Mount a compact flash card on a -CURRENT machine:

        ad4: FAILURE - SETFEATURES status=51<READY,DSC,ERROR> error=4<ABORTED>
        ad4: FAILURE - SETFEATURES status=51<READY,DSC,ERROR> error=4<ABORTED>
        GEOM: create disk ad4 dp=0xc217d070
        ad4: 46MB <> [185/16/32] at ata2-master PIO2
        # mount -t msdos /dev/ad4s1 /camera
        Mounting root from ufs:/dev/ad0s3a
        # xv <any image file>

        The file will be corrupt.

        The same hardware, running under 4.6-RELEASE, does not report the
        failures above:

        ata4 at port 0x240-0x247,0x24e irq 11 slot 0 on pccard0
        ad8: 46MB <> [185/16/32] at ata4-master BIOSPIO

        After copying the file to disk, the EOF is the same, but the
        contents are different (and correct in this case):

        $ cmp dscn2621.jpg dscn2621-corrupt.jpg 
        dscn2621.jpg dscn2621-corrupt.jpg differ: char 7681, line 30

        The data comes back in sync at offset 8192, suggesting that
        the data is not being transferred for the full length.

>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list