On 2026/2/3 4:11, Waiman Long wrote:
> --- a/kernel/time/timer_migration.c
> +++ b/kernel/time/timer_migration.c
> @@ -1559,8 +1559,6 @@ int tmigr_isolated_exclude_cpumask(struct cpumask 
> *exclude_cpumask)
>       cpumask_var_t cpumask __free(free_cpumask_var) = CPUMASK_VAR_NULL;
>       int cpu;
>  
> -     lockdep_assert_cpus_held();
> -
>       if (!works)
>               return -ENOMEM;
>       if (!alloc_cpumask_var(&cpumask, GFP_KERNEL))
> @@ -1570,6 +1568,7 @@ int tmigr_isolated_exclude_cpumask(struct cpumask 
> *exclude_cpumask)
>        * First set previously isolated CPUs as available (unisolate).
>        * This cpumask contains only CPUs that switched to available now.
>        */
> +     guard(cpus_read_lock)();
>       cpumask_andnot(cpumask, cpu_online_mask, exclude_cpumask);
>       cpumask_andnot(cpumask, cpumask, tmigr_available_cpumask);
>  

It may lead to lockdep issue.

tmigr_init_isolation
        guard(cpus_read_lock)()
        tmigr_isolated_exclude_cpumask(cpumask)
                guard(cpus_read_lock)()

-- 
Best regards,
Ridong


Reply via email to