summary refs log tree commit diff
path: root/kernel/exit.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2022-09-27 21:02:34 +0200
committerPeter Zijlstra <peterz@infradead.org>2022-09-28 10:00:16 +0200
commit5aec788aeb8eb74282b75ac1b317beb0fbb69a42 (patch)
tree0b191d9fffa590cbca17596e8c8c1147a42d14dc /kernel/exit.c
parent7e9518baed4cef76dbfa07cbffbae1e6dbc87be6 (diff)
downloadlinux-5aec788aeb8eb74282b75ac1b317beb0fbb69a42.tar.gz
sched: Fix TASK_state comparisons
Task state is fundamentally a bitmask; direct comparisons are probably
not working as intended. Specifically the normal wait-state have
a number of possible modifiers:

  TASK_UNINTERRUPTIBLE:	TASK_WAKEKILL, TASK_NOLOAD, TASK_FREEZABLE
  TASK_INTERRUPTIBLE:   TASK_FREEZABLE

Specifically, the addition of TASK_FREEZABLE wrecked
__wait_is_interruptible(). This however led to an audit of direct
comparisons yielding the rest of the changes.

Fixes: f5d39b020809 ("freezer,sched: Rewrite core freezer logic")
Reported-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Debugged-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Diffstat (limited to 'kernel/exit.c')
0 files changed, 0 insertions, 0 deletions