c
if (curr && (addr != curr->vm_start || end > curr->vm_end)) {
    // Attempt to merge VMAs or adjust boundaries
    if (!vma_merge(&vmi, mm, prev, addr, end, vm_flags, anon_vma, file, pgoff, policy, vm_userfaultfd_ctx, anon_name)) {
        // Handle merge failure
        return -EINVAL;
    }
}
