On Fri, Jul 26, 2019 at 09:22:26AM -0700, Suren Baghdasaryan wrote: > This adds testing for polling on pidfd of a process being killed. Test runs > 10000 iterations by default to stress test pidfd polling functionality. > It accepts an optional command-line parameter to override the number or > iterations to run. > Specifically, it tests for: > - pidfd_open on a child process succeeds > - pidfd_send_signal on a child process succeeds > - polling on pidfd succeeds and returns exactly one event > - returned event is POLLIN > - event is received within 3 secs of the process being killed > > 10000 iterations was chosen because of the race condition being tested > which is not consistently reproducible but usually is revealed after less > than 2000 iterations. > Reveals race fixed by commit b191d6491be6 ("pidfd: fix a poll race when setting exit_state") > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> Applied-to: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/log/?h=pidfd Tracked-in: https://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux.git/log/?h=for-next