Without further ado, the following was found: Issue: Linux 2.24 → Glibc 2.24 "From glibc 2.3.4 up to and including Linux 2.24, the glibc wrapper function " "for B<getpid>() cached PIDs, with the goal of avoiding additional system " "calls when a process calls B<getpid>() repeatedly. Normally this caching " "was invisible, but its correct operation relied on support in the wrapper " "functions for B<fork>(2), B<vfork>(2), and B<clone>(2): if an application " "bypassed the glibc wrappers for these system calls by using B<syscall>(2), " "then a call to B<getpid>() in the child would return the wrong value (to be " "precise: it would return the PID of the parent process). In addition, there " "were cases where B<getpid>() could return the wrong value even when " "invoking B<clone>(2) via the glibc wrapper function. (For a discussion of " "one such case, see BUGS in B<clone>(2).) Furthermore, the complexity of the " "caching code had been the source of a few bugs within glibc over the years."