[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48B40D5F.3020705@linux.vnet.ibm.com>
Date: Tue, 26 Aug 2008 16:04:15 +0200
From: Pierre Morel <pmorel@...ux.vnet.ibm.com>
To: Oleg Nesterov <oleg@...sign.ru>
CC: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Roland McGrath <roland@...hat.com>,
Heiko Carstens <heicars2@...ux.vnet.ibm.com>,
sameske@...ux.vnet.ibm.com,
Martin Schwidefsky <schwidefsky@...ibm.com>
Subject: Re: [RFC] [Patch 1/1] [Self Ptrace] System call notification with
self_ptrace
Hello Oleg,
Oleg Nesterov wrote:
> On 08/25, Pierre Morel wrote:
>
>> @@ -550,6 +550,23 @@ asmlinkage long sys_ptrace(long request,
>> goto out;
>> }
>>
>> + if (request == PTRACE_SELF_ON) {
>> + task_lock(current);
>> + set_thread_flag(TIF_SYSCALL_TRACE);
>> + current->ptrace |= PT_SELF;
>>
>
> I didn't read the whole patch, but this sets PT_SELF without PT_PTRACED
> (and without ptrace_attach).
>
Yes it is the way it is intended to work.
PT_SELF and other ptrace requests are not correlated,
I use the ptrace infrastructure to take advantage
of the existing system call interception framework.
> We have some "->ptrace != 0" checks which can misunderstand this. Just
> for example, suppose that the task does sys_ptrace(PTRACE_SELF_ON) and
> then its parent dies. I guess in that case forget_original_parent()
> will hit BUG_ON(p->ptrace), no?
>
>
Yes you are right, I will take care of those cases.
I have the choice between:
- tracking all references to the ptrace flags and add a test for PT_SELF
or a mask.
- add a dedicated task_struct entry to hold the PT_SELF flag
The second solution seems easier, simpler and more
readable but extends the task struct.
What do you think is the best way to do it?
> Oleg.
>
>
Thanks,
Pierre
--
=============
Pierre Morel
RTOS and Embedded Linux
--
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