• Christian Brauner's avatar
    pid: make ENOMEM return value more obvious · 10dab84c
    Christian Brauner authored
    The alloc_pid() codepath used to be simpler. With the introducation of the
    ability to choose specific pids in 49cb2fc4 ("fork: extend clone3() to
    support setting a PID") it got more complex. It hasn't been super obvious
    that ENOMEM is returned when the pid namespace init process/child subreaper
    of the pid namespace has died. As can be seen from multiple attempts to
    improve this see e.g. [1] and most recently [2].
    We regressed returning ENOMEM in [3] and [2] restored it. Let's add a
    comment on top explaining that this is historic and documented behavior and
    cannot easily be changed.
    
    [1]: 35f71bc0 ("fork: report pid reservation failure properly")
    [2]: b26ebfe1 ("pid: Fix error return value in some cases")
    [3]: 49cb2fc4 ("fork: extend clone3() to support setting a PID")
    Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
    10dab84c
pid.c 16.3 KB