Messages in this thread | | | Date | Fri, 25 Jun 2010 14:26:18 -0700 | From | Sukadev Bhattiprolu <> | Subject | Re: [RESEND PATCH] pid_ns: Fix proc_flush_task() accessing freed proc_mnt |
| |
Oleg Nesterov [oleg@redhat.com] wrote: | On 06/25, Sukadev Bhattiprolu wrote: | > | > Louis Rilling [Louis.Rilling@kerlabs.com] wrote: | > | - proc_pid_readdir(): | > | Needs similar check and protection to proc_pid_lookup(), but there is another | > | issue: next_tgid() can find a dying task: | > | > Hmm, I thought proc_pid_readdir() would be a problem too but convinced myself | > that it would not - since a process running proc_pid_readdir() would have | > a reference to the pid namespace, | | Where does this reference comes from ?
Caller of proc_pid_readdir() would be living in the same pid namespace right ? i.e the pid namespace is not empty. If not they would be accessing a different instance of /proc -no ?
Hmm, but thinking some more, if pid ns is created but /proc not remounted, the process would be accessing the parent ns (which cannot go away).
A process cannot access a descendant/unrelated pid namespaces's /proc right ?
| | proc_pid_readdir() pins the task_struct (ns->child_reaper), not the pid/ns. | | But I won't be surprised if I am wrong again ;) | | Oleg.
| |