Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mountinfo: linux: add a /proc/self/mountinfo fallback
In very specific cases (that we hit in runc), it is possible to be running in a child pid namespace (where the Go process's pid is 1) but still have a host /proc. While this is not a problem with /proc/thread-self (since the process *is* in the host pid namespace), the /proc/self/task/<tid> fallback doesn't work because gettid(2) returns the wrong thread-id for the host pid namespace. There isn't much we can do in this case other than use /proc/self, because the simple workarounds (grep NSpid /proc/self/task/*/status) aren't available in pre-3.17 kernels and any more complicated schemes (such as setting the signal mask to something unique and scanning for it) are unworkable for obvious reasons. Fixes: 12c61a3 ("mountinfo: linux: use /proc/thread-self/mountinfo") Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
- Loading branch information