012ab662e2
When calling binder_do_set_priority() with the same policy and priority values as the current task, we exit early since there is nothing to do. However, the BINDER_PRIO_PENDING state might be set and in this case we fail to update it. A subsequent call to binder_transaction_priority() will then read an incorrect state and save the wrong priority. Fix this by setting thread->prio_state to BINDER_PRIO_SET on our way out. Bug: 199309216 Fixes: cac827f2619b ("ANDROID: binder: fix race in priority restore") Signed-off-by: Carlos Llamas <cmllamas@google.com> Change-Id: I21e906cf4b2ebee908af41fe101ecd458ae1991c (cherry picked from commit 72193be6d4bd9ad29dacd998c14dff97f7a6c6c9) |
||
---|---|---|
.. | ||
binder_alloc_selftest.c | ||
binder_alloc.c | ||
binder_alloc.h | ||
binder_internal.h | ||
binder_trace.h | ||
binder.c | ||
binderfs.c | ||
Kconfig | ||
Makefile | ||
vendor_hooks.c |