It probably shouldn't be doing vmalloc() for size == PAGE_SIZE, but I can
understand how it would use it for higher order allocations. I didn't
look at that specifically because I assumed these were going through the
page allocator (and no current user should have any order less than
PAGE_ALLOC_COSTLY_ORDER, correct me if I'm wrong).
I'm pretty sure we want some sort of warning emitted once if this has the
potential to loop forever, so it should probably be changed to WARN_ONCE()
in this patch only. Thanks for pointing that out.
That would be great!