Prepare for annotating the rootcg_cmd_list member with __guarded_by(). Signed-off-by: Bart Van Assche --- drivers/block/loop.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 8fde5f2d3473..637212af70d2 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -2037,13 +2037,15 @@ static void loop_handle_cmd(struct loop_cmd *cmd) } static void loop_process_work(struct loop_worker *worker, - struct list_head *cmd_list, struct loop_device *lo) + struct loop_device *lo, bool rootcg) { int orig_flags = current->flags; + struct list_head *cmd_list; struct loop_cmd *cmd; current->flags |= PF_LOCAL_THROTTLE | PF_MEMALLOC_NOIO; spin_lock_irq(&lo->lo_work_lock); + cmd_list = rootcg ? &lo->rootcg_cmd_list : &worker->cmd_list; while (!list_empty(cmd_list)) { cmd = container_of( cmd_list->next, struct loop_cmd, list_entry); @@ -2074,14 +2076,14 @@ static void loop_workfn(struct work_struct *work) { struct loop_worker *worker = container_of(work, struct loop_worker, work); - loop_process_work(worker, &worker->cmd_list, worker->lo); + loop_process_work(worker, worker->lo, false); } static void loop_rootcg_workfn(struct work_struct *work) { struct loop_device *lo = container_of(work, struct loop_device, rootcg_work); - loop_process_work(NULL, &lo->rootcg_cmd_list, lo); + loop_process_work(NULL, lo, true); } static const struct blk_mq_ops loop_mq_ops = {