[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090530223820.GA30474@redhat.com>
Date: Sun, 31 May 2009 00:38:20 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Roland McGrath <roland@...hat.com>
Cc: Christoph Hellwig <hch@...radead.org>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org
Subject: [RFC PATCH 00/12 v3] ptrace: introduce task_struct->ptrace_cxt
Changes:
04/12: move kfree() outside of task_lock() in alloc_ptrace_context().
But I misread your sugesstion:
> task_lock(tsk);
> if (likely(!tsk->ptrace_ctx)) {
> tsk->ptrace_ctx = ptrace_ctx;
> task_unlock(tsk);
> return 0;
> }
>
> task_unlock(tsk);
> kfree(ptrace_ctx);
Just can't do that. I hate multiple unlocks very much. So it
becomes:
task_lock(tsk);
if (likely(!tsk->ptrace_ctx)) {
tsk->ptrace_ctx = ptrace_ctx;
ptrace_ctx = NULL;
}
task_unlock(tsk);
kfree(ptrace_ctx);
kfree(NULL) is specially allowed.
05/12: Add the comment about tracehook_init_task to ptrace_init_task().
I didn't change the original comment, but imho it is confusing.
"immediately after adding @child to its parent's children list"
does not matter. What does matter, is that it is called before
this child is visible to the user-space and thus the unconditional
ptrace_link() is safe: nobody could attach before us.
08/12: No changes, but I think it better to change format_mca_init_stack()
right now. Imho it has nothing to do with tracehooks and it is the
last user of ->parent (except perhaps there are some in arch/ code
which should be tracehookfied).
09/12: Remove the stale "pt_" from the changelog.
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists