diff options
author | Thomas Gleixner <[email protected]> | 2017-11-12 13:02:51 +0100 |
---|---|---|
committer | Thomas Gleixner <[email protected]> | 2017-11-12 13:15:14 +0100 |
commit | d00a08cf9ee986ad6689ce8c6fd176aff679c106 (patch) | |
tree | ad39bb22f22d5613e7c40b5e39552c334192dd46 /drivers/clocksource/arm_arch_timer.c | |
parent | 9dc505d6df5c607a4ea088b5f1907540079a9859 (diff) |
irq/work: Use llist_for_each_entry_safe
The llist_for_each_entry() loop in irq_work_run_list() is unsafe because
once the works PENDING bit is cleared it can be requeued on another CPU.
Use llist_for_each_entry_safe() instead.
Fixes: 16c0890dc66d ("irq/work: Don't reinvent the wheel but use existing llist API")
Reported-by:Chris Wilson <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Byungchul Park <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Petri Latvala <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/clocksource/arm_arch_timer.c')
0 files changed, 0 insertions, 0 deletions