Coder Social home page Coder Social logo

Comments (9)

Furisto avatar Furisto commented on June 14, 2024 2

Just a heads up, I am currently also making changes in this area, so please coordinate with me to avoid stepping on each others toes.

from youki.

utam0k avatar utam0k commented on June 14, 2024

5.7 is indeed too recent, so I think that when we support clone3, we should also support it to work with 5.4 at the same time.

from youki.

tsturzl avatar tsturzl commented on June 14, 2024

What I got from @flxo's comment on #10, clone2 should give use benefits over the current fork strategy. I say we explore that first.

from youki.

utam0k avatar utam0k commented on June 14, 2024

I have implemented it with the following considerations in mind.
https://github.com/opencontainers/runc/blob/93a01cd4d0b7a0f08abc36c2ebc85a0543b25647/libcontainer/nsenter/nsexec.c#L680-L725

But now youki may get the advantage by using clone(2). I think this may be a challenge. This area has been well commented on by @YJDoc2 . If anyone wants to try it, I will support it.

from youki.

yihuaf avatar yihuaf commented on June 14, 2024

Can I help to take look at this issue? My understanding is if we can enter user namespace and pid namespace together through a single clone(2), the resulting process can then become the init process (YP -> YI, instead of creating YC). We currently have to fork twice because we need to fork once to enter into user namespace, and fork again to enter into the correct pid namespace. Is this understanding correct?

from youki.

utam0k avatar utam0k commented on June 14, 2024

Can I help to take look at this issue? My understanding is if we can enter user namespace and pid namespace together through a single clone(2), the resulting process can then become the init process (YP -> YI, instead of creating YC). We currently have to fork twice because we need to fork once to enter into user namespace, and fork again to enter into the correct pid namespace. Is this understanding correct?

@yihuaf Thanks for your interest. Your understanding is correct. Would you like to take the challenge? However, I think we need to carefully explore whether the double fork had any security implications, and I'd like you to refer to the runc code and check that as well.
https://github.com/opencontainers/runc/blob/93a01cd4d0b7a0f08abc36c2ebc85a0543b25647/libcontainer/nsenter/nsexec.c#L680-L725

from youki.

utam0k avatar utam0k commented on June 14, 2024

Just a heads up, I am currently also making changes in this area, so please coordinate with me to avoid stepping on each others toes.

@Furisto I'm assuming this is finished, is that correct?

from youki.

yihuaf avatar yihuaf commented on June 14, 2024

You can assign this to me then. I will keep the referenced runc code in mind.

from youki.

utam0k avatar utam0k commented on June 14, 2024

@yihuaf I'll assign you. I'm looking forward to your PR :)

from youki.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.