Mount an empty /dev/shm tmpfs in the chroot

This ensures that whatever the builder writes in /dev/shm is
automatically cleaned up.
This commit is contained in:
Eelco Dolstra 2012-06-27 09:52:27 -04:00
parent 3ee208516f
commit 42f5a2fc29
1 changed files with 6 additions and 0 deletions

View File

@ -1868,6 +1868,12 @@ void DerivationGoal::initChild()
private PID namespace. */
if (mount("none", (chrootRootDir + "/proc").c_str(), "proc", 0, 0) == -1)
throw SysError("mounting /proc");
/* Mount a new tmpfs on /dev/shm to ensure that whatever
the builder puts in /dev/shm is cleaned up automatically. */
if (pathExists("/dev/shm"))
if (mount("none", (chrootRootDir + "/dev/shm").c_str(), "tmpfs", 0, 0) == -1)
throw SysError("mounting /dev/shm");
/* Do the chroot(). Below we do a chdir() to the
temporary build directory to make sure the current