summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvisa <visa@openbsd.org>2018-03-28 16:34:28 +0000
committervisa <visa@openbsd.org>2018-03-28 16:34:28 +0000
commitd78cb2ffdac0b6a8690a0d0268283287e63c9871 (patch)
tree58527bf5c044249fe3d7553d1c7021f1e69062f3
parent- memory leak occurs when adding same table twice. (diff)
downloadwireguard-openbsd-d78cb2ffdac0b6a8690a0d0268283287e63c9871.tar.xz
wireguard-openbsd-d78cb2ffdac0b6a8690a0d0268283287e63c9871.zip
Use RWL_IS_VNODE with locks that are acquired through VOP_LOCK(),
to appease WITNESS. ext2fs and ffs already use the flag. The same locking pattern appears with other file systems too, so this patch addresses the remaining cases. OK mpi@
-rw-r--r--sys/isofs/cd9660/cd9660_vfsops.c4
-rw-r--r--sys/isofs/udf/udf_vfsops.c4
-rw-r--r--sys/miscfs/fuse/fuse_vfsops.c5
-rw-r--r--sys/msdosfs/msdosfs_denode.c4
-rw-r--r--sys/tmpfs/tmpfs_subr.c4
5 files changed, 11 insertions, 10 deletions
diff --git a/sys/isofs/cd9660/cd9660_vfsops.c b/sys/isofs/cd9660/cd9660_vfsops.c
index ac3df59ad1b..be84d998b74 100644
--- a/sys/isofs/cd9660/cd9660_vfsops.c
+++ b/sys/isofs/cd9660/cd9660_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660_vfsops.c,v 1.87 2018/02/10 05:24:23 deraadt Exp $ */
+/* $OpenBSD: cd9660_vfsops.c,v 1.88 2018/03/28 16:34:28 visa Exp $ */
/* $NetBSD: cd9660_vfsops.c,v 1.26 1997/06/13 15:38:58 pk Exp $ */
/*-
@@ -755,7 +755,7 @@ retry:
return (error);
}
ip = malloc(sizeof(*ip), M_ISOFSNODE, M_WAITOK | M_ZERO);
- rrw_init_flags(&ip->i_lock, "isoinode", RWL_DUPOK);
+ rrw_init_flags(&ip->i_lock, "isoinode", RWL_DUPOK | RWL_IS_VNODE);
vp->v_data = ip;
ip->i_vnode = vp;
ip->i_dev = dev;
diff --git a/sys/isofs/udf/udf_vfsops.c b/sys/isofs/udf/udf_vfsops.c
index 8a0173db611..7e917a7fe86 100644
--- a/sys/isofs/udf/udf_vfsops.c
+++ b/sys/isofs/udf/udf_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: udf_vfsops.c,v 1.62 2018/02/10 05:24:23 deraadt Exp $ */
+/* $OpenBSD: udf_vfsops.c,v 1.63 2018/03/28 16:34:28 visa Exp $ */
/*
* Copyright (c) 2001, 2002 Scott Long <scottl@freebsd.org>
@@ -638,7 +638,7 @@ udf_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
vp->v_data = up;
vref(ump->um_devvp);
- rrw_init_flags(&up->u_lock, "unode", RWL_DUPOK);
+ rrw_init_flags(&up->u_lock, "unode", RWL_DUPOK | RWL_IS_VNODE);
/*
* udf_hashins() will lock the vnode for us.
diff --git a/sys/miscfs/fuse/fuse_vfsops.c b/sys/miscfs/fuse/fuse_vfsops.c
index 7f7b044f458..6640e4cfb5a 100644
--- a/sys/miscfs/fuse/fuse_vfsops.c
+++ b/sys/miscfs/fuse/fuse_vfsops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fuse_vfsops.c,v 1.32 2018/02/10 05:24:23 deraadt Exp $ */
+/* $OpenBSD: fuse_vfsops.c,v 1.33 2018/03/28 16:34:28 visa Exp $ */
/*
* Copyright (c) 2012-2013 Sylvestre Gallon <ccna.syl@gmail.com>
*
@@ -271,7 +271,8 @@ retry:
}
ip = malloc(sizeof(*ip), M_FUSEFS, M_WAITOK | M_ZERO);
- rrw_init_flags(&ip->ufs_ino.i_lock, "fuseinode", RWL_DUPOK);
+ rrw_init_flags(&ip->ufs_ino.i_lock, "fuseinode",
+ RWL_DUPOK | RWL_IS_VNODE);
nvp->v_data = ip;
ip->ufs_ino.i_vnode = nvp;
ip->ufs_ino.i_dev = fmp->dev;
diff --git a/sys/msdosfs/msdosfs_denode.c b/sys/msdosfs/msdosfs_denode.c
index db2dce6257b..c2755607dbc 100644
--- a/sys/msdosfs/msdosfs_denode.c
+++ b/sys/msdosfs/msdosfs_denode.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: msdosfs_denode.c,v 1.59 2017/08/14 22:43:56 sf Exp $ */
+/* $OpenBSD: msdosfs_denode.c,v 1.60 2018/03/28 16:34:28 visa Exp $ */
/* $NetBSD: msdosfs_denode.c,v 1.23 1997/10/17 11:23:58 ws Exp $ */
/*-
@@ -233,7 +233,7 @@ retry:
return (error);
}
ldep = malloc(sizeof(*ldep), M_MSDOSFSNODE, M_WAITOK | M_ZERO);
- rrw_init_flags(&ldep->de_lock, "denode", RWL_DUPOK);
+ rrw_init_flags(&ldep->de_lock, "denode", RWL_DUPOK | RWL_IS_VNODE);
nvp->v_data = ldep;
ldep->de_vnode = nvp;
ldep->de_flag = 0;
diff --git a/sys/tmpfs/tmpfs_subr.c b/sys/tmpfs/tmpfs_subr.c
index adc982184e9..037de2f4bb9 100644
--- a/sys/tmpfs/tmpfs_subr.c
+++ b/sys/tmpfs/tmpfs_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tmpfs_subr.c,v 1.18 2017/04/20 14:13:00 visa Exp $ */
+/* $OpenBSD: tmpfs_subr.c,v 1.19 2018/03/28 16:34:28 visa Exp $ */
/* $NetBSD: tmpfs_subr.c,v 1.79 2012/03/13 18:40:50 elad Exp $ */
/*
@@ -314,7 +314,7 @@ again:
return error;
}
- rrw_init_flags(&node->tn_vlock, "tnode", RWL_DUPOK);
+ rrw_init_flags(&node->tn_vlock, "tnode", RWL_DUPOK | RWL_IS_VNODE);
vp->v_type = node->tn_type;
/* Type-specific initialization. */