Skip to content

Draft: lib: Spawn SUID OOM helper using posix_spawn

Alfred Neumayer requested to merge personal/fredldotme/fastoomhelper into main

glib has the ability to spawn processes using posix_spawn for quicker process allocation when certain conditions are met:

  • Don't waitpid() for the process to finish
  • Don't attempt to close file descriptors before process launch

To accomplish this lomiri-app-launch needs to watch the child pid itself using a callback from a child watcher and let file descriptors trickle down to the child process. This way glib can enable a fast-path using posix_spawn and improve performance significantly.

Attack surface for the SUID helper should be very small if noticable since it doesn't make use of any file descriptors it gets passed, and is considered a trusted component from the shell's point of view.

Merge request reports