Re: [PATCH 1/2] ptrace: don't modify flags on PTRACE_SETOPTIONSfailure

From: Denys Vlasenko
Date: Fri Sep 09 2011 - 08:58:21 EST


On Fri, 2011-09-09 at 14:44 +0200, Indan Zupancic wrote:
> Hello,
>
> On Fri, September 9, 2011 08:24, Denys Vlasenko wrote:
> > It's very unlikely that there is userspace code in the wild which
> > will be affected by this change: it should have the form
> >
> > ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_BOGUSOPT)
> >
> > where PTRACE_O_BOGUSOPT is a constant unknown to the kernel.
> > But kernel headers, naturally, don't contain any
> > PTRACE_O_BOGUSOPTs, thus the only way userspace can use one
> > if it defines one itself. I can't see why anyone would do such
> > a thing deliberately.
>
> The only realistic case is when a program compiled on a newer
> kernel is run on an older kernel, when it does things like
>
> #ifndef PTRACE_O_TRACEFORK
> opts |= PTRACE_O_TRACEFORK;
> #endif
>
> and happened to work on older kernels because it didn't check
> the return value.

Well, older kernels, of course, will have *old* behavior
of SETOPTIONS too! My patch will not magically propagate
back in time and change behavior of old kernels :)

--
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/