NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/54045: mpii driver triggers panic on timeout in physio



>Number:         54045
>Category:       kern
>Synopsis:       kernel diagnostic assertion "bp->b_error == 0" failed: file "/src/NetBSD/cur/src/sys/kern/kern_physio.c", line 179
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 06 10:50:00 +0000 2019
>Originator:     Frank Kardel
>Release:        NetBSD 8.99.34
>Organization:
>Environment:
System: NetBSD admin1 8.99.34 NetBSD 8.99.34 (GENERIC_SCSIDEBUG) #5: Wed Mar  6 08:51:34 CET 2019  kardel@Andromeda:/usr/src/obj.amd64/sys/arch/amd64/compile/GENERIC_SCSIDEBUG amd64
Architecture: x86_64
Machine: amd64
>Description:
	Timeouts on SCSI WRITE/READ commands in the mpii driver cause physio to panic with:
	kernel diagnostic assertion "bp->b_error == 0" failed: file "/src/NetBSD/cur/src/sys/kern/kern_physio.c", line 179
	Root cause is the improper setting of bp->resid in the error case triggering the physio assertion that 
	fully completed transfers must not indicate error conditions.
>How-To-Repeat:
	Force a timeout on READ/WRITE in the mpii driver (tape drives with bad tapes are a
	good test candidate) and observe the panic on a DIAGNOSTIC kernel.
>Fix:
	Align values of xs->error, xs->resid and xs->status with the expectations of the scsipi subsystem.



Home | Main Index | Thread Index | Old Index