summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2009-06-14 17:53:55 +0000
committerdchagin <dchagin@FreeBSD.org>2009-06-14 17:53:55 +0000
commitc4e9ea4c7e590f278082a450978bd60c9e022073 (patch)
tree26aa707850398fb42f8fa69f09cbc82b650a68c3
parent6a33730340278c95cdbb912bf9ccdc3a88afb327 (diff)
downloadFreeBSD-src-c4e9ea4c7e590f278082a450978bd60c9e022073.zip
FreeBSD-src-c4e9ea4c7e590f278082a450978bd60c9e022073.tar.gz
Unlock process lock when return error from getrobustlist call.
Tested by: Alexander Best <alexbestms at math uni-muenster de> Approved by: kib (mentor) MFC after: 3 days
-rw-r--r--sys/compat/linux/linux_futex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c
index d72a699..b9f570b 100644
--- a/sys/compat/linux/linux_futex.c
+++ b/sys/compat/linux/linux_futex.c
@@ -707,8 +707,10 @@ linux_get_robust_list(struct thread *td, struct linux_get_robust_list_args *args
/* XXX: ptrace? */
if (priv_check(td, PRIV_CRED_SETUID) ||
priv_check(td, PRIV_CRED_SETEUID) ||
- p_candebug(td, p))
+ p_candebug(td, p)) {
+ PROC_UNLOCK(p);
return (EPERM);
+ }
head = em->robust_futexes;
PROC_UNLOCK(p);
OpenPOWER on IntegriCloud