X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=kernel%2Ftask_work.c;h=0fef395662a6ea6f38301e92f74d14f60b3f145d;hb=e6ef760731ada512d7258c5ed48423144f831eab;hp=5718b3ea202a3f5dd7186e6454f18fb6be392644;hpb=2ec077c186a02c0aae8fc213a7b1d4c35f9626ed;p=linux.git diff --git a/kernel/task_work.c b/kernel/task_work.c index 5718b3ea202a..0fef395662a6 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c @@ -68,7 +68,7 @@ task_work_cancel(struct task_struct *task, task_work_func_t func) * we raced with task_work_run(), *pprev == NULL/exited. */ raw_spin_lock_irqsave(&task->pi_lock, flags); - while ((work = lockless_dereference(*pprev))) { + while ((work = READ_ONCE(*pprev))) { if (work->func != func) pprev = &work->next; else if (cmpxchg(pprev, work, work->next) == work)