conf: ensure mount tunnel is a dependent mount

Signed-off-by: Christian Brauner (Microsoft) <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner 2022-11-29 21:36:43 +01:00 committed by Stéphane Graber
parent 2ff447445b
commit 9e35b3ecd3
No known key found for this signature in database
GPG Key ID: C638974D64792D67

View File

@ -4345,6 +4345,14 @@ static int setup_capabilities(struct lxc_conf *conf)
return 0;
}
static int make_shmount_dependent_mount(const struct lxc_conf *conf)
{
if (!(conf->auto_mounts & LXC_AUTO_SHMOUNTS_MASK))
return 0;
return mount(NULL, conf->shmount.path_cont, NULL, MS_REC | MS_SLAVE, 0);
}
int lxc_setup(struct lxc_handler *handler)
{
int ret;
@ -4474,6 +4482,11 @@ int lxc_setup(struct lxc_handler *handler)
if (ret < 0)
return log_error(-1, "Failed to pivot root into rootfs");
ret = make_shmount_dependent_mount(lxc_conf);
if (ret < 0)
return log_error(-1, "Failed to turn mount tunnel \"%s\" into dependent mount",
lxc_conf->shmount.path_cont);
/* Setting the boot-id is best-effort for now. */
if (lxc_conf->autodev > 0)
(void)lxc_setup_boot_id();