mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-03 10:18:02 +00:00
commit
7c76f49546
@ -195,6 +195,30 @@ static void kill_children(pid_t pid)
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
static void remove_self(void)
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
ssize_t n;
|
||||
|
||||
n = readlink("/proc/self/exe", path, sizeof(path));
|
||||
if (n < 0) {
|
||||
SYSERROR("Failed to readlink \"/proc/self/exe\"");
|
||||
return;
|
||||
}
|
||||
|
||||
path[n] = 0;
|
||||
|
||||
if (umount2(path, MNT_DETACH) < 0) {
|
||||
SYSERROR("Failed to unmount \"%s\"", path);
|
||||
return;
|
||||
}
|
||||
|
||||
if (unlink(path) < 0) {
|
||||
SYSERROR("Failed to unlink \"%s\"", path);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int i, ret;
|
||||
@ -296,6 +320,8 @@ int main(int argc, char *argv[])
|
||||
|
||||
lxc_setup_fs();
|
||||
|
||||
remove_self();
|
||||
|
||||
pid = fork();
|
||||
if (pid < 0)
|
||||
exit(EXIT_FAILURE);
|
||||
|
Loading…
Reference in New Issue
Block a user