[libvirt] [PATCH] LXC: Ensure the init task of container comes from container
Richard Weinberger
richard at sigma-star.at
Fri Jun 14 06:48:51 UTC 2013
Am 14.06.2013 07:54, schrieb Gao feng:
> Richard found libvirt_lxc execs the lxc init programs within
> the wrong rootfs context, we should run this init task from
> the rootfs of container.
>
> So chroot to the root directory of container, Make sure
> libvirt_lxc execs the right lxc init program.
>
> Signed-off-by: Gao feng <gaofeng at cn.fujitsu.com>
> ---
> src/lxc/lxc_container.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
> index 181f6c8..4edff15 100644
> --- a/src/lxc/lxc_container.c
> +++ b/src/lxc/lxc_container.c
> @@ -645,8 +645,9 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root)
> goto err;
> }
>
> - /* CWD is undefined after pivot_root, so go to / */
> - if (chdir("/") < 0)
> + /* CWD is undefined after pivot_root, so go to /,
> + * and chroot to the new root directroy */
> + if (chdir("/") < 0 || chroot(".") < 0)
> goto err;
Hmm, that looks fishy to me.
We never have to do a chroot(".") after pivot_root().
Thanks,
//richard
More information about the libvir-list
mailing list