Unlock the image vnode around the call of pmc PMC_FN_PROCESS_EXEC hook.
The hook calls vn_fullpath(9), that should not be executed with a vnode lock held. Reported by: Bruce Cran <bruce cran org uk> Tested by: pho MFC after: 3 days
This commit is contained in:
parent
427992ecdb
commit
1ef6ea9b60
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=197031
@ -786,10 +786,12 @@ do_execve(td, args, mac_p)
|
||||
*/
|
||||
if (PMC_SYSTEM_SAMPLING_ACTIVE() || PMC_PROC_IS_USING_PMCS(p)) {
|
||||
PROC_UNLOCK(p);
|
||||
VOP_UNLOCK(imgp->vp, 0);
|
||||
pe.pm_credentialschanged = credential_changing;
|
||||
pe.pm_entryaddr = imgp->entry_addr;
|
||||
|
||||
PMC_CALL_HOOK_X(td, PMC_FN_PROCESS_EXEC, (void *) &pe);
|
||||
vn_lock(imgp->vp, LK_EXCLUSIVE | LK_RETRY);
|
||||
} else
|
||||
PROC_UNLOCK(p);
|
||||
#else /* !HWPMC_HOOKS */
|
||||
|
Loading…
Reference in New Issue
Block a user