• Tejun Heo's avatar
    workqueue: fix is_chained_work() regression · 1dd63814
    Tejun Heo authored
    c9e7cf27 ("workqueue: move busy_hash from global_cwq to
    worker_pool") incorrectly converted is_chained_work() to use
    get_gcwq() inside for_each_gcwq_cpu() while removing get_gcwq().
    
    As cwq might not exist for all possible workqueue CPUs, @cwq can be
    NULL and the following cwq deferences can lead to oops.
    
    Fix it by using for_each_cwq_cpu() instead, which is the better one to
    use anyway as we only need to check pools that the wq is associated
    with.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    1dd63814
workqueue.c 105 KB