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);