summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/compat/linux/linux_misc.c6
-rw-r--r--sys/compat/linux/linux_signal.c4
2 files changed, 3 insertions, 7 deletions
diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c
index ff08e67..a09f691 100644
--- a/sys/compat/linux/linux_misc.c
+++ b/sys/compat/linux/linux_misc.c
@@ -1439,10 +1439,9 @@ linux_getpid(struct thread *td, struct linux_getpid_args *args)
#endif
if (linux_use26(td)) {
- em = em_find(td->td_proc, EMUL_DOLOCK);
+ em = em_find(td->td_proc, EMUL_DONTLOCK);
KASSERT(em != NULL, ("getpid: emuldata not found.\n"));
td->td_retval[0] = em->shared->group_pid;
- EMUL_UNLOCK(&emul_lock);
} else {
td->td_retval[0] = td->td_proc->p_pid;
}
@@ -1481,7 +1480,7 @@ linux_getppid(struct thread *td, struct linux_getppid_args *args)
return (0);
}
- em = em_find(td->td_proc, EMUL_DOLOCK);
+ em = em_find(td->td_proc, EMUL_DONTLOCK);
KASSERT(em != NULL, ("getppid: process emuldata not found.\n"));
@@ -1508,7 +1507,6 @@ linux_getppid(struct thread *td, struct linux_getppid_args *args)
} else
td->td_retval[0] = pp->p_pid;
- EMUL_UNLOCK(&emul_lock);
PROC_UNLOCK(pp);
return (0);
diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c
index c9904a8..d40d9d7 100644
--- a/sys/compat/linux/linux_signal.c
+++ b/sys/compat/linux/linux_signal.c
@@ -561,7 +561,7 @@ linux_tgkill(struct thread *td, struct linux_tgkill_args *args)
PROC_UNLOCK(p);
- em = em_find(p, EMUL_DOLOCK);
+ em = em_find(p, EMUL_DONTLOCK);
if (em == NULL) {
#ifdef DEBUG
@@ -573,8 +573,6 @@ linux_tgkill(struct thread *td, struct linux_tgkill_args *args)
if (em->shared->group_pid != args->tgid)
return ESRCH;
- EMUL_UNLOCK(&emul_lock);
-
return linux_kill(td, &ka);
}
OpenPOWER on IntegriCloud