[CRIU] [PATCH] mount: close mnt.ns_fd only for sub-namespaces
Andrew Vagin
avagin at virtuozzo.com
Thu Nov 26 05:31:27 PST 2015
On Thu, Nov 26, 2015 at 04:07:46PM +0300, Pavel Emelyanov wrote:
> On 11/26/2015 01:49 PM, Andrey Vagin wrote:
> > From: Andrew Vagin <avagin at virtuozzo.com>
> >
> > nsid->mnt.ns_fd is initialized into 0, so currently
> > fini_restore_mntns() closes the 0 descriptor if processes
> > lives in a current mount namespace (NS_CRIU).
> >
> > Without this patch I get the following error:
> > (00.166444) 4109: Inherit fd tty:[8800:d] -> 0 has been closed
> >
> > Signed-off-by: Andrew Vagin <avagin at virtuozzo.com>
> > ---
> > mount.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mount.c b/mount.c
> > index 20ae79b..d3628c2 100644
> > --- a/mount.c
> > +++ b/mount.c
> > @@ -2653,7 +2653,7 @@ void fini_restore_mntns(void)
> > for (nsid = ns_ids; nsid != NULL; nsid = nsid->next) {
> > if (nsid->nd != &mnt_ns_desc)
> > continue;
> > - if (root_item->ids->mnt_ns_id == nsid->id)
> > + if (nsid->type == NS_OTHER)
>
> But all the nsid's with type OTHER have ns_fd set to some descriptor,
> why do you skip them?
I want to say != ;)
>
> > continue;
> > close(nsid->mnt.ns_fd);
> > }
> >
>
More information about the CRIU
mailing list