Giter Club home page Giter Club logo

Comments (3)

ayushr2 avatar ayushr2 commented on June 30, 2024 1

This must have been broken by cf9d55b.

validateOpenFDs() is a security check that happens right before the application starts which checks that the sandbox process does not have any open directory FDs. This is to prevent leaking directory FDs to the sandbox. Because with directfs, sandbox has access to openat(2) syscall and we don't want a compromised sandbox to be able to walk on these directories.

Notes:
prepareMounts() initializes the gofer connection:

gvisor/runsc/boot/vfs.go

Lines 750 to 756 in 2d90b66

func (c *containerMounter) prepareMounts() ([]mountInfo, error) {
// If device gofer exists, connect to it.
if c.devGoferFD != nil {
if err := c.k.AddDevGofer(c.containerID, c.devGoferFD.Release()); err != nil {
return nil, err
}
}

It is called after seccomp filters are installed in the normal case (via runsc start), but it is called before seccomp filters are initialized in the restore case. When the connection is initialized, it donates a directory FD to the sandbox to use. This is what validateOpenFDs() is complaining about.

from gvisor.

ayushr2 avatar ayushr2 commented on June 30, 2024

@luiscape FYI we fixed another GPU checkpoint/restore bug (b373c8e) and added a GPU checkpoint restore test (1214e28). So hopefully we don't break you again.

from gvisor.

luiscape avatar luiscape commented on June 30, 2024

@ayushr2 awesome. Thanks a lot. It's been working well so far. I'll send you a detailed update this week.

from gvisor.

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.