Re: [PATCH 2/5] ptrace: implement PTRACE_SEIZE

From: Denys Vlasenko
Date: Sat Jun 18 2011 - 03:59:51 EST


On Saturday 18 June 2011 09:55, Denys Vlasenko wrote:
> On Tuesday 14 June 2011 11:20, Tejun Heo wrote:
> #define PTRACE_EVENT_FORK 1
> #define PTRACE_EVENT_VFORK 2
> #define PTRACE_EVENT_CLONE 3
> > #define PTRACE_EVENT_EXEC 4
> > #define PTRACE_EVENT_VFORK_DONE 5
> > #define PTRACE_EVENT_EXIT 6
> > +#define PTRACE_EVENT_STOP 7
>
> Er... these constants were corresponding exactly to
> bit positions in ptrace options which enable them:
>
> #define PTRACE_O_TRACESYSGOOD 0x00000001
> #define PTRACE_O_TRACEFORK 0x00000002
> #define PTRACE_O_TRACEVFORK 0x00000004
> #define PTRACE_O_TRACECLONE 0x00000008
> #define PTRACE_O_TRACEEXEC 0x00000010
> #define PTRACE_O_TRACEVFORKDONE 0x00000020
> #define PTRACE_O_TRACEEXIT 0x00000040
>
> For example, PTRACE_O_TRACEEXEC is 4th bit, PTRACE_EVENT_EXEC is 4.
>
> If we'd define PTRACE_EVENT_STOP as 7, any future added
> PTRACE_O_foo bit with value 0x00000080 will be unable
> to follow this convention.
>
> I propose to define PTRACE_EVENT_STOP as 64 instead, leaving 64 low
> PTRACE_EVENT_foo constants for possible future PTRACE_O_foo bits.
>
> [32 should be enough too, but I feel paranoid today :)]

...unless we plan to introduce PTRACE_O_TRACESTOP (with value 0x00000080)
which enables PTRACE_INTERRUPT and stop notifications independently
of PTRACE_SEIZE. Which would be very useful for e.g. strace.

Then, PTRACE_EVENT_STOP indeed should be 7.

--
vda

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/