diff options
author | Dmitry Chagin <dchagin@FreeBSD.org> | 2009-06-14 17:53:55 +0000 |
---|---|---|
committer | Dmitry Chagin <dchagin@FreeBSD.org> | 2009-06-14 17:53:55 +0000 |
commit | 0046fd5dd9543d94d3e30711303b90762a322a2f (patch) | |
tree | 26aa707850398fb42f8fa69f09cbc82b650a68c3 /sys/compat/linux/linux_futex.c | |
parent | f0557704cfaa58a0709490576c07c3046419cdd0 (diff) | |
download | src-0046fd5dd9543d94d3e30711303b90762a322a2f.tar.gz src-0046fd5dd9543d94d3e30711303b90762a322a2f.zip |
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
Notes
Notes:
svn path=/head/; revision=194203
Diffstat (limited to 'sys/compat/linux/linux_futex.c')
-rw-r--r-- | sys/compat/linux/linux_futex.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c index d72a699cadea..b9f570ba7b10 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); |