-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
In scenarios with (nested) rootless containers, due to limited permissions, a container may have a new pid namespace but still have a parent's mount for /proc.
This causes pids under /proc to mismatch with those seen by the .NET process.
This issue is for making .NET work better in this specific scenario.
.NET can detect the scenario by reading the /proc/self symlink.
In the normal case (where /proc and the pid namespace match), the target path of the link is equal to the process pid.
When /proc is mounted for a parent, the target path will be the pid for the process in the parent pid namespace.
In both cases, .NET can read information about the current process by using /proc/self instead of /proc/<pid>.
In the second case, .NET shouldn't retrieve information about other processes from /proc/<pid> because it can't map between the /proc pid and the process pid namespace.
cc @omajid