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 710da3c8 ("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: e00eb41c ("ANDROID: binder: add support for RT prio inheritance.") Signed-off-by:Todd Kjos <tkjos@google.com>
Loading
Please register or sign in to comment