Commit ce2c6b53847afc444c4d0a7a1075c61f499c57a5

Authored by Thomas Gleixner
Committed by Linus Torvalds
1 parent 2b8de5f50e

[PATCH] futex: Apply recent futex fixes to futex_compat

The recent fixups in futex.c need to be applied to futex_compat.c too.  Fixes
a hang reported by Olaf.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 3 additions and 3 deletions Side-by-side Diff

kernel/futex_compat.c
... ... @@ -39,7 +39,7 @@
39 39 {
40 40 struct compat_robust_list_head __user *head = curr->compat_robust_list;
41 41 struct robust_list __user *entry, *pending;
42   - unsigned int limit = ROBUST_LIST_LIMIT, pi;
  42 + unsigned int limit = ROBUST_LIST_LIMIT, pi, pip;
43 43 compat_uptr_t uentry, upending;
44 44 compat_long_t futex_offset;
45 45  
46 46  
... ... @@ -59,10 +59,10 @@
59 59 * if it exists:
60 60 */
61 61 if (fetch_robust_entry(&upending, &pending,
62   - &head->list_op_pending, &pi))
  62 + &head->list_op_pending, &pip))
63 63 return;
64 64 if (upending)
65   - handle_futex_death((void *)pending + futex_offset, curr, pi);
  65 + handle_futex_death((void *)pending + futex_offset, curr, pip);
66 66  
67 67 while (compat_ptr(uentry) != &head->list) {
68 68 /*