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

Reply via email to