Messages in this thread | | | Date | Fri, 9 Sep 2011 18:22:49 +0200 | Subject | Re: [PATCH 1/2] ptrace: don't modify flags on PTRACE_SETOPTIONS failure | From | "Indan Zupancic" <> |
| |
On Fri, September 9, 2011 14:58, Denys Vlasenko wrote: > 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 :)
In that case your patch should be allowed to magically propagate forward in time and change the behavior of future kernels.
Greetings,
Indan
| |