c
if (map_ofs + (level - 1) * XE_PAGE_SIZE < bo->size) {
    entry = vm->pt_ops->pde_encode_bo(bo, map_ofs + (level - 1) * XE_PAGE_SIZE, pat_index);
    xe_map_wr(xe, &bo->vmap, map_ofs + XE_PAGE_SIZE * level, u64, entry | flags);
} else {
    // Handle error condition (e.g., log error, return error code)
    dev_err(xe->dev, "Attempted out-of-bounds write in xe_migrate_prepare_vm\n");
    return -EINVAL;
}
