Messages in this thread | | | Date | Sun, 11 Sep 2011 08:32:29 +0900 | From | Tejun Heo <> | Subject | Re: [PATCH 1/2] ptrace: don't modify flags on PTRACE_SETOPTIONS failure |
| |
On Fri, Sep 09, 2011 at 08:24:37AM +0200, Denys Vlasenko wrote: > ptrace: don't modify flags on PTRACE_SETOPTIONS failure > > On ptrace(PTRACE_SETOPTIONS, pid, 0, <opts>), we used to set > those option bits which are known, and then fail with -EINVAL > if there are some unknown bits in <opts>. > > This in inconsistent with typical error handling, which > does not change any state if input is invalid. > > This patch changes PTRACE_SETOPTIONS behavior so that > in this case, we return -EINVAL and don't change any bits > in task->ptrace. > > 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. > > Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
-- tejun
| |