svn commit: r352017 - head/sys/kern
Konstantin Belousov
kib at FreeBSD.org
Sat Sep 7 16:10:58 UTC 2019
Author: kib
Date: Sat Sep 7 16:10:57 2019
New Revision: 352017
URL: https://svnweb.freebsd.org/changeset/base/352017
Log:
In do_execve(), use shared text vnode lock consistently.
Reviewed by: markj
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D21560
Modified:
head/sys/kern/kern_exec.c
Modified: head/sys/kern/kern_exec.c
==============================================================================
--- head/sys/kern/kern_exec.c Sat Sep 7 16:05:17 2019 (r352016)
+++ head/sys/kern/kern_exec.c Sat Sep 7 16:10:57 2019 (r352017)
@@ -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);
}
/*
More information about the svn-src-all
mailing list