diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2022-02-09 08:52:41 -0600 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2022-03-10 13:39:04 -0600 |
commit | 7f62d40d9cb50fd146fe8ff071f98fa3c1855083 (patch) | |
tree | fee0257d2a48d176bdfeb84267f3a6d9b1122e0e /kernel/task_work.c | |
parent | 8ca07e17c9dd4c4afcb4a3f2ea8f0a0d41c0f982 (diff) |
task_work: Introduce task_work_pending
Wrap the test of task->task_works in a helper function to make
it clear what is being tested.
All of the other readers of task->task_work use READ_ONCE and this is
even necessary on current as other processes can update
task->task_work. So for consistency I have added READ_ONCE into
task_work_pending.
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20220309162454.123006-7-ebiederm@xmission.com
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Diffstat (limited to 'kernel/task_work.c')
-rw-r--r-- | kernel/task_work.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/task_work.c b/kernel/task_work.c index 1698fbe6f0e1..cc6fccb0e24d 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -78,7 +78,7 @@ task_work_cancel_match(struct task_struct *task, struct callback_head *work; unsigned long flags; - if (likely(!task->task_works)) + if (likely(!task_work_pending(task))) return NULL; /* * If cmpxchg() fails we continue without updating pprev. |