linux-stable/drivers/android
Eric Biggers 7bfd8e1fd8 binder: use wake_up_pollfree()
commit a880b28a71 upstream.

wake_up_poll() uses nr_exclusive=1, so it's not guaranteed to wake up
all exclusive waiters.  Yet, POLLFREE *must* wake up all waiters.  epoll
and aio poll are fortunately not affected by this, but it's very
fragile.  Thus, the new function wake_up_pollfree() has been introduced.

Convert binder to use wake_up_pollfree().

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Fixes: f5cb779ba1 ("ANDROID: binder: remove waitqueue when thread exits.")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20211209010455.42744-3-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-14 10:16:55 +01:00
..
binder.c binder: use wake_up_pollfree() 2021-12-14 10:16:55 +01:00
binder_alloc.c binder: Don't use mmput() from shrinker function. 2020-07-29 07:42:56 +02:00
binder_alloc.h binder: fix race that allows malicious free of live buffer 2018-12-05 19:41:26 +01:00
binder_alloc_selftest.c android: binder: Add global lru shrinker to binder 2017-08-28 16:47:17 +02:00
binder_trace.h android: binder: Add shrinker tracepoints 2017-08-28 16:47:17 +02:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile android: binder: Add allocator selftest 2017-08-28 16:47:17 +02:00