Module Name: src
Committed By: dholland
Date: Thu Jul 10 06:27:15 UTC 2014
Modified Files:
src/sys/ufs/ffs: ffs_wapbl.c
Log Message:
Fix unchecked UFS_WAPBL_BEGIN. Coverity 975226.
Unfortunately it looks like all we can do on error here is printf.
To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/ufs/ffs/ffs_wapbl.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/ufs/ffs/ffs_wapbl.c
diff -u src/sys/ufs/ffs/ffs_wapbl.c:1.25 src/sys/ufs/ffs/ffs_wapbl.c:1.26
--- src/sys/ufs/ffs/ffs_wapbl.c:1.25 Fri Oct 25 11:35:55 2013
+++ src/sys/ufs/ffs/ffs_wapbl.c Thu Jul 10 06:27:15 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $ */
+/* $NetBSD: ffs_wapbl.c,v 1.26 2014/07/10 06:27:15 dholland Exp $ */
/*-
* Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.26 2014/07/10 06:27:15 dholland Exp $");
#define WAPBL_INTERNAL
@@ -147,9 +147,16 @@ ffs_wapbl_replay_finish(struct mount *mp
* initialized in ufs_makeinode. If so, just dallocate them.
*/
if (ip->i_mode == 0) {
- UFS_WAPBL_BEGIN(mp);
- ffs_vfree(vp, ip->i_number, wr->wr_inodes[i].wr_imode);
- UFS_WAPBL_END(mp);
+ error = UFS_WAPBL_BEGIN(mp);
+ if (error) {
+ printf("ffs_wapbl_replay_finish: "
+ "unable to cleanup inode %" PRIu32 "\n",
+ wr->wr_inodes[i].wr_inumber);
+ } else {
+ ffs_vfree(vp, ip->i_number,
+ wr->wr_inodes[i].wr_imode);
+ UFS_WAPBL_END(mp);
+ }
}
vput(vp);
}