diff options
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 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)  |