[Devel] Re: [RESEND PATCH] pid_ns: Fix proc_flush_task() accessing freed proc_mnt

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Fri Jun 25 14:26:18 PDT 2010


Oleg Nesterov [oleg at redhat.com] wrote:
| On 06/25, Sukadev Bhattiprolu wrote:
| >
| > Louis Rilling [Louis.Rilling at 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.
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list