diff options
Diffstat (limited to 'kernel/kthread.c')
| -rw-r--r-- | kernel/kthread.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/kthread.c b/kernel/kthread.c index a3f95c90456b..fdb8fb07f40b 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -81,7 +81,7 @@ enum KTHREAD_BITS { static inline struct kthread *to_kthread(struct task_struct *k) { - WARN_ON(!(k->flags & PF_KTHREAD)); + WARN_ON(!(READ_ONCE(k->flags) & PF_KTHREAD)); return k->worker_private; } @@ -343,7 +343,7 @@ static void kthread_fetch_affinity(struct kthread *kthread, struct cpumask *cpum } cpumask_and(cpumask, pref, housekeeping_cpumask(HK_TYPE_DOMAIN)); - if (cpumask_empty(cpumask)) + if (!cpumask_intersects(cpumask, cpu_online_mask)) cpumask_copy(cpumask, housekeeping_cpumask(HK_TYPE_DOMAIN)); } |
