aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2019-09-07 16:10:57 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2019-09-07 16:10:57 +0000
commit1040254b7580e5b3d3cd954357098e1d843d6129 (patch)
treed2eb37931100869388b1bc1897f48910176b7622 /sys/kern/kern_exec.c
parent1c36b72874add3b95a865e6d74dfc1b054086f03 (diff)
downloadsrc-1040254b7580e5b3d3cd954357098e1d843d6129.tar.gz
src-1040254b7580e5b3d3cd954357098e1d843d6129.zip
Notes
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 24f9e07ddfe1..ed8f55c4afa9 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -526,7 +526,7 @@ interpret:
euip = uifind(attr.va_uid);
change_euid(imgp->newcred, euip);
}
- vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(imgp->vp, LK_SHARED | LK_RETRY);
if (attr.va_mode & S_ISGID)
change_egid(imgp->newcred, attr.va_gid);
/*
@@ -555,7 +555,7 @@ interpret:
oldcred->cr_svgid != oldcred->cr_gid) {
VOP_UNLOCK(imgp->vp, 0);
imgp->newcred = crdup(oldcred);
- vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(imgp->vp, LK_SHARED | LK_RETRY);
change_svuid(imgp->newcred, imgp->newcred->cr_uid);
change_svgid(imgp->newcred, imgp->newcred->cr_gid);
}
@@ -572,7 +572,7 @@ interpret:
if (vn_fullpath(td, imgp->vp, &imgp->execpath,
&imgp->freepath) != 0)
imgp->execpath = args->fname;
- vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(imgp->vp, LK_SHARED | LK_RETRY);
}
/*