This looks fine in general, but a few comments:
- can you split adding the new function from switching over the fork code? - at least kasan and vmalloc_user/vmalloc_32_user use very similar patterns, can you switch them over as well? - the new __alloc_vm_area looks very different from alloc_vm_area, maybe it needs a better name? vmalloc_range_area for example? - when you split an existing function please keep the more low-level function on top of the higher level one that calls it.

