Andy Lutomirski [off-list ref] writes:
[cc: Eric Biederman]
Can we do one better and add a flag to prevent any non-self pid
lookups? This might actually be easy on top of the pid namespace work
(e.g. we could change the way that find_task_by_vpid works).
It's far from just being signals. There's access_process_vm, ptrace,
all the signal functions, clock_gettime (see CPUCLOCK_PID -- yes, this
is ridiculous), and probably some others that I've forgotten about or
never noticed in the first place.
So here is the practical question.
Are these processes that only can send signals to their thread group
allowed to call fork()?
If fork is allowed and all pid lookups are restricted to their own
thread group that wait, waitpid, and all of the rest of the wait family
will never return the pids of their children, and zombies will
accumulate. Aka the semantics are fundamentally broken.
If fork is not allowed pid namespaces already solve this problem.
Eric