On 08/26, Eric W. Biederman wrote: > > Oleg Nesterov <oleg@xxxxxxxxxx> writes: > > > > And I also assume that you agree with this change ;) > > I don't disagree. Comparing tgid to pids is goofy and my brain is > elsewhere so I have no thought through the implications. > > Actually thinking I think the check should really be. In which case we > are comparing what we really care about. > > int proc_fd_permission(struct inode *inode, int mask) > { > int rv = generic_permission(inode, mask); > if (rv == 0) > return 0; > > rcu_read_lock(); > struct task *task = pid_task(proc_pid(inode)); > if (task && (current->files == task->files)) But for what? To me, this looks like the unnecessary semantic complication. It looks as if we actually need to restrict the access to /proc/self/fd or /proc/<tgid>/fd or /proc/<subthread-tid>/fd. I do not think there is any security reason to deny this. They share ->mm, a sub-thread can do "everything" with its leader or vice versa. same_thread_group() looks more simple and natural to me. And note that __ptrace_may_access() was recently changed (in -mm) to use same_thread_group() instead of "task == current". So personally I'd prefer to not change this patch and I think it makes sense even with "make /proc/self point to thread" I sent. But. please tell me if you really dislike it. You are maintainer, I won't argue. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html