Sounds like that's your issue - for the kernel, tab is supposed to be as wide as 8 spaces, not 4.
That fixed it, thanks! I've gone through the diff and made sure there are no longer any inconsistent indents.
I'm afraid I'm too ignorant of this code to be able to suggest something good here. But, can we just remove the comment and plumb the gopts through to uffd_poll_thread()->uffd_handle_page_fault()->__copy_page()?
This is not pretty but it lets us remove the global vars which is clearly a step in the right direction.
Perhaps Andrew can weigh in? If I understood this correctly, we're trying to assert that retrying a successful UFFDIO_COPY operation always results in EEXIST. This is being done in a somewhat racy fashion where a flag (test_uffdio_copy_eexist) is set every 10 seconds using alarm(2). IMO this is a flaky test, we should either: - remove this variable and associated logic entirely (preferred) - use a probability function to set this a % of the time instead of every 10 seconds - use an async library that can replace the implementation without the use of global vars