Re: [PATCH] Reserve N process to root

From: Gustavo Chain
Date: Wed Oct 10 2007 - 01:16:28 EST


El Wed, 10 Oct 2007 11:19:27 +0930
David Newall <david@xxxxxxxxxxxxxxx> escribiÃ:

> Gustavo Chain wrote:
> > I think it's necessary to reserve some pids to the super user.
> > 5 must be sufficient.
>
> Why? (Sorry if I missed something.)

To prevent a posible DoS ?

>
> Shouldn't you test for error return before the pid is allocated?
> Otherwise, I think, you have to free it. Thus:
> > long do_fork(unsigned long clone_flags,
> > int __user *parent_tidptr,
> > int __user *child_tidptr)
> > {
> > +#define RESERVED_PIDS 5 /* danged if I know why */
> > +
> > + if (!capable(CAP_SYS_ADMIN) && nr_threads >= max_threads -
> > RESERVED_PIDS)
> > + return -EAGAIN;
> > +
> >
> > struct task_struct *p;
> > int trace = 0;
> > struct pid *pid = alloc_pid();
> > long nr;
> >
> > if (!pid)
> > return -EAGAIN;
> > nr = pid->nr;
> >
>
> (While I'm being picky, I don't like braces around a simple return,
> and neither, I note, does the style guide.)
> -
> 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/


--
Gustavo ChaÃn Dumit
-
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/