Messages in this thread Patch in this message | | | From | Darren Hart <> | Subject | [PATCH 2/2] futex: correct futex_requeue futex key ref counting in requeue loop | Date | Mon, 29 Dec 2008 10:54:02 -0800 |
| |
The requeue loop takes multiple references to key2, but the corresponding put loop decrements the refs for key1. This patch corrects the accounting.
Build and boot tested on an x86_64 system.
Signed-off-by: Darren Hart <dvhltc@us.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Rusty Russell <rusty@au1.ibm.com> ---
kernel/futex.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c index cf363ce..3b66d91 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -919,7 +919,7 @@ out_unlock: /* drop_futex_key_refs() must be called outside the spinlocks. */ while (--drop_count >= 0) - drop_futex_key_refs(&key1); + drop_futex_key_refs(&key2); put_futex_key(fshared, &key2); out_put_key1:
| |