Module Name: src Committed By: jdolecek Date: Mon Dec 4 22:15:52 UTC 2017
Modified Files: src/sys/dev: dksubr.c Log Message: add KASSERT() just before setting sc_deferred, to ensure this does not trigger problem in PR kern/52769 To generate a diff of this commit: cvs rdiff -u -r1.100 -r1.101 src/sys/dev/dksubr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/dksubr.c diff -u src/sys/dev/dksubr.c:1.100 src/sys/dev/dksubr.c:1.101 --- src/sys/dev/dksubr.c:1.100 Sun Oct 29 09:44:17 2017 +++ src/sys/dev/dksubr.c Mon Dec 4 22:15:52 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: dksubr.c,v 1.100 2017/10/29 09:44:17 mlelstv Exp $ */ +/* $NetBSD: dksubr.c,v 1.101 2017/12/04 22:15:52 jdolecek Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 1999, 2002, 2008 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.100 2017/10/29 09:44:17 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dksubr.c,v 1.101 2017/12/04 22:15:52 jdolecek Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -422,6 +422,7 @@ dk_start(struct dk_softc *dksc, struct b error = dkd->d_diskstart(dksc->sc_dev, bp); mutex_enter(&dksc->sc_iolock); if (error == EAGAIN) { + KASSERT(dksc->sc_deferred == NULL); dksc->sc_deferred = bp; disk_unbusy(&dksc->sc_dkdev, 0, (bp->b_flags & B_READ)); disk_wait(&dksc->sc_dkdev);