Re: [PATCH v2] Revert "virtio: reject shm region if length is zero"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 ---- El vie., 08 ago. 2025 08:26:08 -0300,  Michael S. Tsirkin <mst@xxxxxxxxxx> escribió ---- 
 > On Thu, Aug 07, 2025 at 10:03:29AM -0300, Igor Torrente wrote:
 > > The commit 206cc44588f7 ("virtio: reject shm region if length is zero")
 > > breaks the Virtio-gpu `host_visible` feature.
 > > 
 > > Right now in the Virtio-gpu code, `host_visible_region.len` is zero because
 > > the struct comes directly from the `kzalloc` allocation. And Virtio-gpu
 > > is using the `vm_get_shm_region` (drivers/virtio/virtio_mmio.c:536) to read
 > > the `addr` and `len` from Qemu/Crosvm.
 > > 
 > > ```
 > > drivers/gpu/drm/virtio/virtgpu_kms.c
 > > 132 vgdev = drmm_kzalloc(dev, sizeof(struct virtio_gpu_device), GFP_KERNEL);
 > > [...]
 > > 177 if (virtio_get_shm_region(vgdev->vdev, &vgdev->host_visible_region,
 > > 178                           VIRTIO_GPU_SHM_ID_HOST_VISIBLE)) {
 > > ```
 > > Now it always fails.
 > > 
 > > As the Virtio-gpu relies on the previous behavior, this patch reverts
 > > the offending commit.
 > > 
 > > Fixes: 206cc44588f7 ("virtio: reject shm region if length is zero` breaks the Virtio-gpu `host_visible")
 > > 
 > > This reverts commit 206cc44588f72b49ad4d7e21a7472ab2a72a83df.
 > > 
 > > Signed-off-by: Igor Torrente <igor.torrente@xxxxxxxxxxxxx>
 > 
 > 
 > Fixes has to be adjacent to Signed-off-by.

Ohh, I will pay attention to this next time. 

 > But anyway, I already included v1 in my tree, pls check it out
 > and tell me if more fixes are needed.

I tested here your branch, and it's working fine.

```
[    0.298365] [drm] pci: virtio-gpu-pci detected at 0000:00:04.0
[    0.298506] [drm] Host memory window: 0x200000000 +0x200000000
[    0.298510] [drm] features: +virgl +edid +resource_blob +host_visible
```
```
Linux debian-arm64-vm-chromebook 6.16.0mst_virt_repo_linux-next+ #159 SMP PREEMPT_DYNAMIC Fri Aug  8 11:53:04 -03 2025 aarch64 GNU/Linux
```

Thanks for applying it,
---
Igor Torrente

 > 
 > > ---
 > > v2: Improve the commit message (Michael S. Tsirkin)
 > > 
 > >  include/linux/virtio_config.h | 2 --
 > >  1 file changed, 2 deletions(-)
 > > 
 > > diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
 > > index b3e1d30c765b..169c7d367fac 100644
 > > --- a/include/linux/virtio_config.h
 > > +++ b/include/linux/virtio_config.h
 > > @@ -329,8 +329,6 @@ static inline
 > >  bool virtio_get_shm_region(struct virtio_device *vdev,
 > >                 struct virtio_shm_region *region, u8 id)
 > >  {
 > > -    if (!region->len)
 > > -        return false;
 > >      if (!vdev->config->get_shm_region)
 > >          return false;
 > >      return vdev->config->get_shm_region(vdev, region, id);
 > > -- 
 > > 2.49.0
 > 
 > 






[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux