futex: futex_wake_op, fix sign_extend32 sign bits
authorJiri Slaby <jslaby@suse.cz>
Thu, 30 Nov 2017 14:35:44 +0000 (15:35 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 10 Dec 2017 20:50:57 +0000 (12:50 -0800)
commitd70ef22892ed6c066e51e118b225923c9b74af34
tree8a650ea3b1fe83e418607e5c8c40f7ec24e1eef8
parent51090c5d6de08cfc86b2d861775dedddd9a2c023
futex: futex_wake_op, fix sign_extend32 sign bits

sign_extend32 counts the sign bit parameter from 0, not from 1.  So we
have to use "11" for 12th bit, not "12".

This mistake means we have not allowed negative op and cmp args since
commit 30d6e0a4190d ("futex: Remove duplicated code and fix undefined
behaviour") till now.

Fixes: 30d6e0a4190d ("futex: Remove duplicated code and fix undefined behaviour")
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Darren Hart <dvhart@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/futex.c