I'm guessing that the missing comment explains that this is intentional,
to trap buffer overflows?
(okay that was a cheap shot. I don't comment nearly enough either)
Even if you leave a page between allocations, I don't see how you can
fail a one page allocation, unless you've allocated at least N/2 pages
(where N is the size of the vmalloc space in pages).
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--