projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ARM64: rockchip_defconfig: enable sdhci controller
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
futex.c
diff --git
a/kernel/futex.c
b/kernel/futex.c
index 684d7549825a4300ced2002a3fbec0a5698a18d1..461c72b2dac2c4d316e66b38b5b7d73d980ab347 100644
(file)
--- a/
kernel/futex.c
+++ b/
kernel/futex.c
@@
-2755,6
+2755,11
@@
static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags,
if (q.pi_state && (q.pi_state->owner != current)) {
spin_lock(q.lock_ptr);
ret = fixup_pi_state_owner(uaddr2, &q, current);
if (q.pi_state && (q.pi_state->owner != current)) {
spin_lock(q.lock_ptr);
ret = fixup_pi_state_owner(uaddr2, &q, current);
+ /*
+ * Drop the reference to the pi state which
+ * the requeue_pi() code acquired for us.
+ */
+ free_pi_state(q.pi_state);
spin_unlock(q.lock_ptr);
}
} else {
spin_unlock(q.lock_ptr);
}
} else {
@@
-2881,7
+2886,7
@@
SYSCALL_DEFINE3(get_robust_list, int, pid,
}
ret = -EPERM;
}
ret = -EPERM;
- if (!ptrace_may_access(p, PTRACE_MODE_READ))
+ if (!ptrace_may_access(p, PTRACE_MODE_READ
_REALCREDS
))
goto err_unlock;
head = p->robust_list;
goto err_unlock;
head = p->robust_list;