When splitting a VMA, create two new VMAs to replace both parts of the
VMA. Change the callers to pass in a pointer and update the pointer to
the new VMA based on the value of new_below.
do_mas_align_munmap() needed to update a local variable in the case of
splitting the end and only having one VMA to split.
mprotect_fixup() needed to change where it set the previous pointer to
after the split to avoid a use-after-free scenario.
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>