On Wed, 27 Feb 2019, Ricardo Neri wrote: > > -struct cpumask watchdog_allowed_mask __read_mostly; > +static struct cpumask watchdog_allowed_mask __read_mostly; That hunk is correct. > struct cpumask watchdog_cpumask __read_mostly; > unsigned long *watchdog_cpumask_bits = cpumask_bits(&watchdog_cpumask); > @@ -92,6 +92,11 @@ static int __init hardlockup_all_cpu_backtrace_setup(char *str) > } > __setup("hardlockup_all_cpu_backtrace=", hardlockup_all_cpu_backtrace_setup); > # endif /* CONFIG_SMP */ > + > +struct cpumask *watchdog_get_allowed_cpumask(void) > +{ > + return &watchdog_allowed_mask; > +} That part is pointless as I showed you in the other reply. You don't need that mask in your code at all. Thanks, tglx