summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorse <se@FreeBSD.org>2003-06-20 12:15:37 +0000
committerse <se@FreeBSD.org>2003-06-20 12:15:37 +0000
commit995f0686641cf4b40d4af12d7e380b66e46cb86a (patch)
treea0cb88305e095d6833b76b157f89f77441ba1f6f
parent51f92bbd16f3838974e7285c9a9e201c6a0ab177 (diff)
downloadFreeBSD-src-995f0686641cf4b40d4af12d7e380b66e46cb86a.zip
FreeBSD-src-995f0686641cf4b40d4af12d7e380b66e46cb86a.tar.gz
The assertions generated to test VFS locking never included checks
for vnodes reached through double indirection (i.e. **vpp). This is worked-around by special-casing the identifier "vpp" (adding one level of indirection). The alternative fix mentioned in the PR had required substantial changes to this script. In case there are locking violations that had been hidden without this patch, they may suddenly show up, now ... This change does not affect code compiled without DEBUG_VFS_LOCKS. PR: kern/46652
-rw-r--r--sys/tools/vnode_if.awk2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/tools/vnode_if.awk b/sys/tools/vnode_if.awk
index 69bb0bf..443a321 100644
--- a/sys/tools/vnode_if.awk
+++ b/sys/tools/vnode_if.awk
@@ -65,6 +65,8 @@ function printh(s) {print s > hfile;}
function add_debug_code(name, arg, pos)
{
+ if (arg == "vpp")
+ arg = "*vpp";
if (lockdata[name, arg, pos]) {
printh("\tASSERT_VI_UNLOCKED("arg", \""uname"\");");
# Add assertions for locking
OpenPOWER on IntegriCloud