* [PATCH] Fix tsk->exit_state usage
@ 2007-08-14 14:34 Eugene Teo
0 siblings, 0 replies; only message in thread
From: Eugene Teo @ 2007-08-14 14:34 UTC (permalink / raw)
To: linux-kernel
tsk->exit_state can only be 0, EXIT_ZOMBIE, or EXIT_DEAD. A non-zero test
is the same as tsk->exit_state & (EXIT_ZOMBIE | EXIT_DEAD), so just testing
tsk->exit_state is sufficient.
Signed-off-by: Eugene Teo <eugeneteo@kernel.sg>
---
fs/proc/array.c | 3 +--
kernel/fork.c | 2 +-
kernel/sched.c | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/proc/array.c b/fs/proc/array.c
index 965625a..babb24d 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -145,8 +145,7 @@ static inline const char *get_task_state(struct task_struct *tsk)
TASK_UNINTERRUPTIBLE |
TASK_STOPPED |
TASK_TRACED)) |
- (tsk->exit_state & (EXIT_ZOMBIE |
- EXIT_DEAD));
+ tsk->exit_state;
const char **p = &task_state_array[0];
while (state) {
diff --git a/kernel/fork.c b/kernel/fork.c
index 7332e23..56d1b8b 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -115,7 +115,7 @@ EXPORT_SYMBOL(free_task);
void __put_task_struct(struct task_struct *tsk)
{
- WARN_ON(!(tsk->exit_state & (EXIT_DEAD | EXIT_ZOMBIE)));
+ WARN_ON(!tsk->exit_state);
WARN_ON(atomic_read(&tsk->usage));
WARN_ON(tsk == current);
diff --git a/kernel/sched.c b/kernel/sched.c
index 45e17b8..8c27f08 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5190,7 +5190,7 @@ static void migrate_dead(unsigned int dead_cpu, struct task_struct *p)
struct rq *rq = cpu_rq(dead_cpu);
/* Must be exiting, otherwise would be on tasklist. */
- BUG_ON(p->exit_state != EXIT_ZOMBIE && p->exit_state != EXIT_DEAD);
+ BUG_ON(!p->exit_state);
/* Cannot have done final schedule yet: would have vanished. */
BUG_ON(p->state == TASK_DEAD);
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2007-08-14 14:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-14 14:34 [PATCH] Fix tsk->exit_state usage Eugene Teo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.