On 06/17, Chen Hanxiao wrote:
>
> +SYSCALL_DEFINE4(getnspid, pid_t, pid, int, fd1, int, fd2, int, pidtype)
> +{
> +     struct file *file1 = NULL, *file2 = NULL;
> +     struct task_struct *task;
> +     struct pid_namespace *ns1, *ns2;
> +     struct proc_ns *ei;
> +     int ret = -1;
> +
> +     if (pidtype >= PIDTYPE_MAX)
> +             return -EINVAL;
> +
> +     file1 = proc_ns_fget(fd1);
> +     if (IS_ERR(file1))
> +             return PTR_ERR(file1);
> +     ei = get_proc_ns(file_inode(file1));
> +     ns1 = (struct pid_namespace *)ei->ns;

and I am not sure this part is correct... shouldn't we also verify that
ns_ops == pidns_operations ?

Perhaps it makes sense to generalize get_net_ns_by_fd() into
"void *get_ns_by_fd(fd, type)"... this probably needs another "check-and-get"
method in proc_ns_operations(). I dunno.

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/

Reply via email to