On 10/10/2026 2:53 AM, Dmitry Osipenko wrote:
24.09.2026 12:55, Honglei Huang пишет:
+int virtio_gpu_userptr_create(struct virtio_gpu_device *vgdev,
+                             struct drm_file *file,
+                             struct virtio_gpu_object_params *params,
+                             struct virtio_gpu_object **bo_ptr)
+{
+       struct virtio_gpu_object_userptr *userptr;
+       struct virtio_gpu_mem_entry *ents = NULL;
+       struct sg_table *sgt;
+       struct mm_struct *mm;
+       unsigned long lock_limit;
+       unsigned long start;
+       unsigned long end;
+       s64 new_pinned;
+       unsigned int nents;
+       int ret;
+
+       *bo_ptr = NULL;
+
+       if (!params->size || !IS_ALIGNED(params->size, PAGE_SIZE) ||
+           params->userptr != (unsigned long)params->userptr)
+               return -EINVAL;
+
+       start = params->userptr;
+       if (!IS_ALIGNED(start, PAGE_SIZE) ||
+           check_add_overflow(start, (unsigned long)params->size, &end))
+               return -EINVAL;

There is new vgdev->blob_alignment defining host page size as it may
differ from guest's page. Will be good to validate both.


Will add blob_alignment check in next version, thanks for the review.

Regards,
Honglei


Reply via email to