summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_default.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-08-13 11:11:51 +0000
committerphk <phk@FreeBSD.org>2002-08-13 11:11:51 +0000
commit2bddcb2f126ffd731fb776e686f8ab48ad27ea44 (patch)
tree561fda55b61541b8fd0a59b93051081c61b230e2 /sys/kern/vfs_default.c
parent5727268ab34798f2de8355754e6dadf339e1d772 (diff)
downloadFreeBSD-src-2bddcb2f126ffd731fb776e686f8ab48ad27ea44.zip
FreeBSD-src-2bddcb2f126ffd731fb776e686f8ab48ad27ea44.tar.gz
Remember to unlock the (optional) vnode in vfs_stdextattrctl(). Failing
to do this made the following script hang: #!/bin/sh set -ex extattrctl start /tmp extattrctl initattr 64 /tmp/EA00 extattrctl enable /tmp user ea00 /tmp/EA00 extattrctl showattr /tmp/EA00 if the filesystem backing /tmp did not support EAs. The real solution is probably to have the extattrctl syscall do the unlocking rather than depend on the filesystem to do it. Considering that extattrctl is going to be made obsolete anyway, this has dogwash priority. Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'sys/kern/vfs_default.c')
-rw-r--r--sys/kern/vfs_default.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index 6ad13d5..81c2167 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -819,6 +819,8 @@ vfs_stdextattrctl(mp, cmd, filename_vp, attrnamespace, attrname, td)
const char *attrname;
struct thread *td;
{
+ if (filename_vp != NULL)
+ VOP_UNLOCK(filename_vp, 0, td);
return(EOPNOTSUPP);
}
OpenPOWER on IntegriCloud