Module Name: src
Committed By: christos
Date: Sat Dec 29 21:57:13 UTC 2012
Modified Files:
src/sys/arch/x86/x86: x86_autoconf.c
Log Message:
don't leak a vnode on error
To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/x86/x86/x86_autoconf.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/arch/x86/x86/x86_autoconf.c
diff -u src/sys/arch/x86/x86/x86_autoconf.c:1.65 src/sys/arch/x86/x86/x86_autoconf.c:1.66
--- src/sys/arch/x86/x86/x86_autoconf.c:1.65 Sun Jul 29 14:05:47 2012
+++ src/sys/arch/x86/x86/x86_autoconf.c Sat Dec 29 16:57:13 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: x86_autoconf.c,v 1.65 2012/07/29 18:05:47 mlelstv Exp $ */
+/* $NetBSD: x86_autoconf.c,v 1.66 2012/12/29 21:57:13 christos Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: x86_autoconf.c,v 1.65 2012/07/29 18:05:47 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: x86_autoconf.c,v 1.66 2012/12/29 21:57:13 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -155,6 +155,7 @@ matchbiosdisks(void)
error = vn_rdwr(UIO_READ, tv, mbr, DEV_BSIZE, 0,
UIO_SYSSPACE, 0, NOCRED, NULL, NULL);
VOP_CLOSE(tv, FREAD, NOCRED);
+ vput(tv);
if (error) {
#ifdef GEOM_DEBUG
printf("matchbiosdisks: %s: MBR read failure\n",
@@ -187,7 +188,6 @@ matchbiosdisks(void)
}
}
x86_alldisks->dl_nativedisks[n].ni_nmatches = m;
- vput(tv);
}
}
deviter_release(&di);