Description

The userfaultfd(2) is a cool system call to handle page faults in user-space. This should allow me to list the contents of an ISO or similar archive without downloading the whole thing. The userfaultfd(2) part can also be done in theory with the PROT_NONE mprotect + SIGSEGV trick, for complete Unix portability, though reportedly being slower.

Goals

  1. Create my own library for userfaultfd(2) in Golang.
  2. Create my own library for HTTP Range Requests.
  3. Complete portability with Unix.
  4. Benchmarks.
  5. Contribute some tests to LTP.

Resources

  1. https://docs.kernel.org/admin-guide/mm/userfaultfd.html
  2. https://github.com/loopholelabs/userfaultfd-go
  3. https://github.com/DHowett/ranger
  4. https://www.cons.org/cracauer/cracauer-userfaultfd.html

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 25

Activity

  • about 10 hours ago: rbranco originated this project.

  • Comments

    • rbranco
      about 10 hours ago by rbranco | Reply

      Golang library for userfaultfd created: https://github.com/ricardobranco777/go-userfaultfd

    Similar Projects

    This project is one of its kind!