linux-uconsole/drivers/android
Todd Kjos aefd2d632e ANDROID: binder: fix sleeping from invalid function caused by RT inheritance
When changing a thread's scheduling priority, binder calls
sched_setscheduler_nocheck() while holding the node lock and
proc inner lock. This was safe until v5.3 when a change was
introduced where cpuset_read_lock() is called in this path
which can sleep: commit 710da3c8ea ("sched/core: Prevent
race condition between cpuset and __sched_setscheduler()").

Refactored binder_proc_transaction() to avoid holding a lock
when calling binder_transaction_priority().

Bug: 143627611
Change-Id: I405c76b4813777905090ccc33e4f048b37700068
Fixes: e00eb41c0c ("ANDROID: binder: add support for RT prio inheritance.")
Signed-off-by: Todd Kjos <tkjos@google.com>
2019-11-04 16:53:27 +00:00
..
binder.c ANDROID: binder: fix sleeping from invalid function caused by RT inheritance 2019-11-04 16:53:27 +00:00
binder_alloc.c binder: Don't modify VMA bounds in ->mmap handler 2019-10-17 05:58:44 -07:00
binder_alloc.h binder: return errors from buffer copy functions 2019-07-01 08:42:47 +02:00
binder_alloc_selftest.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
binder_internal.h binder: prevent UAF read in print_binder_transaction_log_entry() 2019-10-10 14:39:22 +02:00
binder_trace.h Linux 5.2-rc4 2019-06-09 09:18:13 +02:00
binderfs.c binder: Add binder_proc logging to binderfs 2019-09-04 13:31:26 +02:00
Kconfig binder: add functions to copy to/from binder buffers 2019-02-12 10:43:57 +01:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00