Messages in this thread Patch in this message | | | Date | Mon, 30 Jan 2006 17:33:58 +0300 | From | Oleg Nesterov <> | Subject | Re: [PATCH 3/3] pidhash: temporal debug checks |
| |
(Rediff after fixing a bug in [PATCH 1/3])
[PATCH 3/3] pidhash: temporal debug checks
This is for testing in -mm tree only. Ensure that we really do not use pid == 0.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- RC-1/kernel/pid.c~DBG 2006-01-30 14:21:15.000000000 +0300 +++ RC-1/kernel/pid.c 2006-01-30 20:06:35.000000000 +0300 @@ -138,6 +138,7 @@ struct pid * fastcall find_pid(enum pid_ hlist_for_each_entry_rcu(pid, elem, &pid_hash[type][pid_hashfn(nr)], pid_chain) { + WARN_ON(!pid->nr); /* to be removed soon */ if (pid->nr == nr) return pid; } @@ -148,6 +149,9 @@ int fastcall attach_pid(task_t *task, en { struct pid *pid, *task_pid; + WARN_ON(!task->pid); /* to be removed soon */ + WARN_ON(!nr); /* to be removed soon */ + task_pid = &task->pids[type]; pid = find_pid(type, nr); task_pid->nr = nr; @@ -168,9 +172,11 @@ static fastcall int __detach_pid(task_t struct pid *pid, *pid_next; int nr = 0; + WARN_ON(!task->pid); /* to be removed soon */ + pid = &task->pids[type]; if (!hlist_unhashed(&pid->pid_chain)) { - + WARN_ON(!pid->nr); /* to be removed soon */ if (list_empty(&pid->pid_list)) { nr = pid->nr; hlist_del_rcu(&pid->pid_chain); --- RC-1/kernel/fork.c~DBG 2006-01-30 19:52:59.000000000 +0300 +++ RC-1/kernel/fork.c 2006-01-30 20:06:22.000000000 +0300 @@ -1211,6 +1211,7 @@ task_t * __devinit fork_idle(int cpu) if (!task) return ERR_PTR(-ENOMEM); + WARN_ON(task->proc_dentry); /* to be removed soon */ REMOVE_LINKS(task); init_idle(task, cpu); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |