[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110515142827.GF23665@htj.dyndns.org>
Date: Sun, 15 May 2011 16:28:27 +0200
From: Tejun Heo <tj@...nel.org>
To: Jan Kratochvil <jan.kratochvil@...hat.com>
Cc: oleg@...hat.com, vda.linux@...glemail.com,
linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, indan@....nu
Subject: Re: getter PTRACE_GETSIGINFO should not modify anything [Re:
[PATCH 11/11] ptrace: implement group stop notification for ptracer]
Hello, Jan.
On Sun, May 15, 2011 at 04:02:32PM +0200, Jan Kratochvil wrote:
> Or there should be some other way how to query the siginfo_t state
> fully transparently (*).
>
> (*) But if there exists such syscall it probably does not make sense to modify
> anything by PTRACE_GETSIGINFO.
If there's a syscall which doesn't affect notification state, then we
need something which does clear it. Either way, I suppose you're
saying we need both something which clears the notification and
something which doesn't.
> Imagine various LD_PRELOAD tools which try to wrap system/library calls and
> operate with ptrace while keeping it transparent for the original debugger.
> (I have a bunch of such libraries for testing gdb/strace/etc. written there.)
>
> Also complicated debuggers with internal OO hierarchy would need to just wrap
> PTRACE_GETSIGINFO into an internal function to make it transparent for calls
> not intending to modify the debuggee state.
We can add a flag or new request for that but I don't know. Those are
pretty fringe use cases and they don't even strictly require such
feature - Even for LD_PRELOAD, it can simply keep scheduling INTERRUPT
until the application calls the wrapped GETSIGINFO when it detects the
stopped state has changed. It can be easily done from userland.
Thank you.
--
tejun
--
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