Eric W. Biederman wrote: [ ... ] > There is also the case that should not come up with signals where > we have a pid from a child namespace, that we should also be able to > compute the pid for. I don't understand how a signal can come from a child pid namespace ? > In essence I intend to have a list of pid_namespace, pid_t pairs connected > to a struct pid that we can look through to find the appropriate pid. yes, that's the purpose of pid_nr() I guess. This list would contain in nearly all cases a single pair (current pid namespace, pid value). It will contain 2 pairs for a task that has unshared its pid namespace : a pair for the current pid namespace, that needs to allocated when unshare() is called, and one pair for the ancestor pid namespace which is already allocated. Do you see more ? C.