[PATCH 02/10] Task Containers(V11): Add tasks file interface

James Morris jmorris at namei.org
Fri Jul 20 13:20:10 PDT 2007


On Fri, 20 Jul 2007, menage at google.com wrote:

> +/*
> + * Attach task with pid 'pid' to container 'cont'. Call with
> + * container_mutex, may take task_lock of task
> + */
> +static int attach_task_by_pid(struct container *cont, char *pidbuf)
> +{
> +	pid_t pid;
> +	struct task_struct *tsk;
> +	int ret;
> +
> +	if (sscanf(pidbuf, "%d", &pid) != 1)
> +		return -EIO;
> +
> +	if (pid) {
> +		rcu_read_lock();
> +		tsk = find_task_by_pid(pid);
> +		if (!tsk || tsk->flags & PF_EXITING) {
> +			rcu_read_unlock();
> +			return -ESRCH;
> +		}
> +		get_task_struct(tsk);
> +		rcu_read_unlock();
> +
> +		if ((current->euid) && (current->euid != tsk->uid)
> +		    && (current->euid != tsk->suid)) {
> +			put_task_struct(tsk);
> +			return -EACCES;

I wonder if we should allow CAP_SYS_ADMIN to do this, too.

-- 
James Morris
<jmorris at namei.org>


More information about the Containers mailing list