On 12/13, Chris Metcalf wrote:
>
> On 12/13/2012 10:49 AM, Oleg Nesterov wrote:
> > But ptrace_setoptions() returns EINVAL? it doesn't accept illegal bits.
>
> It does return EINVAL - but if it gets both legal and illegal bits,
> it honors all the legal bits first.
This was true in the past, but now we have
static int ptrace_setoptions(struct task_struct *child, unsigned long
data)
{
unsigned flags;
if (data & ~(unsigned long)PTRACE_O_MASK)
return -EINVAL;
/* Avoid intermediate state when all opts are cleared */
flags = child->ptrace;
flags &= ~(PTRACE_O_MASK << PT_OPT_FLAG_SHIFT);
flags |= (data << PT_OPT_FLAG_SHIFT);
child->ptrace = flags;
return 0;
}
> > So I'd say it looks fine to me.
>
> Thanks! Should I convert that to a Reviewed-by or Acked-by on the patch?
Heh ;) Please feel free to add Acked-by: Oleg Nesterov <[email protected]>
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/