diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index 85fc839aaae7..700a70c2c5e8 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -326,7 +326,7 @@ extattr_get_vp(struct vnode *vp, int attrnamespace, const char *attrname, size_t size, *sizep; int error; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + vn_lock(vp, LK_SHARED | LK_RETRY); /* * Slightly unusual semantics: if the user provides a NULL data diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index c8f832f6adad..684973066190 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1758,7 +1758,7 @@ vn_extattr_get(struct vnode *vp, int ioflg, int attrnamespace, auio.uio_resid = *buflen; if ((ioflg & IO_NODELOCKED) == 0) - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + vn_lock(vp, LK_SHARED | LK_RETRY); ASSERT_VOP_LOCKED(vp, "IO_NODELOCKED with no vp lock held");