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