virtualbox-guest-dkms: build still failing with kernel 5.11

Bug #1917581 reported by Andrea Righi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
virtualbox (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

virtualbox-guest-dkms is still failing with kernel 5.11:

/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:345:3: error: ‘struct drm_driver’ has no member named ‘gem_free_object_unlocked’
  345 | .gem_free_object_unlocked = vbox_gem_free_object,
      | ^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:345:30: error: initialization of ‘char *’ from incompatible pointer type ‘void (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  345 | .gem_free_object_unlocked = vbox_gem_free_object,
      | ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:345:30: note: (near initialization for ‘driver.name’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:356:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_export’; did you mean ‘gem_prime_import’?
  356 | .gem_prime_export = drm_gem_prime_export,
      | ^~~~~~~~~~~~~~~~
      | gem_prime_import
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:356:22: error: initialization of ‘struct drm_gem_object * (*)(struct drm_device *, struct dma_buf *)’ from incompatible pointer type ‘struct dma_buf * (*)(struct drm_gem_object *, int)’ [-Werror=incompatible-pointer-types]
  356 | .gem_prime_export = drm_gem_prime_export,
      | ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:356:22: note: (near initialization for ‘driver.gem_prime_import’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:358:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_pin’; did you mean ‘gem_prime_mmap’?
  358 | .gem_prime_pin = vbox_gem_prime_pin,
      | ^~~~~~~~~~~~~
      | gem_prime_mmap
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:358:19: error: initialization of ‘struct drm_gem_object * (*)(struct drm_device *, struct dma_buf_attachment *, struct sg_table *)’ from incompatible pointer type ‘int (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  358 | .gem_prime_pin = vbox_gem_prime_pin,
      | ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:358:19: note: (near initialization for ‘driver.gem_prime_import_sg_table’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:359:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_unpin’; did you mean ‘gem_prime_import’?
  359 | .gem_prime_unpin = vbox_gem_prime_unpin,
      | ^~~~~~~~~~~~~~~
      | gem_prime_import
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:359:21: error: initialization of ‘int (*)(struct drm_gem_object *, struct vm_area_struct *)’ from incompatible pointer type ‘void (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  359 | .gem_prime_unpin = vbox_gem_prime_unpin,
      | ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:359:21: note: (near initialization for ‘driver.gem_prime_mmap’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:360:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_get_sg_table’; did you mean ‘gem_prime_import_sg_table’?
  360 | .gem_prime_get_sg_table = vbox_gem_prime_get_sg_table,
      | ^~~~~~~~~~~~~~~~~~~~~~
      | gem_prime_import_sg_table
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:360:28: error: initialization of ‘int (*)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *)’ from incompatible pointer type ‘struct sg_table * (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  360 | .gem_prime_get_sg_table = vbox_gem_prime_get_sg_table,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:360:28: note: (near initialization for ‘driver.dumb_create’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:362:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_vmap’; did you mean ‘gem_prime_mmap’?
  362 | .gem_prime_vmap = vbox_gem_prime_vmap,
      | ^~~~~~~~~~~~~~
      | gem_prime_mmap
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:362:20: error: initialization of ‘int (*)(struct drm_gem_object *, struct vm_area_struct *)’ from incompatible pointer type ‘void * (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  362 | .gem_prime_vmap = vbox_gem_prime_vmap,
      | ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:362:20: note: (near initialization for ‘driver.gem_prime_mmap’)
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:363:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_vunmap’; did you mean ‘gem_prime_mmap’?
  363 | .gem_prime_vunmap = vbox_gem_prime_vunmap,
      | ^~~~~~~~~~~~~~~~
      | gem_prime_mmap
/var/lib/dkms/virtualbox-guest/6.1.18/build/vboxvideo/vbox_drv.c:363:22: error: initialization of ‘int (*)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *)’ from incompatible pointer type ‘void (*)(struct drm_gem_object *, void *)’ [-Werror=incompatible-pointer-types]
  363 | .gem_prime_vunmap = vbox_gem_prime_vunmap,
      | ^~~~~~~~~~~~~~~~~~~~~

Tags: patch
Revision history for this message
Andrea Righi (arighi) wrote :

Attached debdiff disables vboxvideo in virtualbox-guest-dkms and forces the usage of the mainline vboxvideo. In this way we can prevent the build errors from happening. A nicer solution would be to disable vboxvideo only in kernels >= 5.11, but this shouldn't be a problem in hirsute (this change should be valid both with all kernels >= 5.10).

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package virtualbox - 6.1.18-dfsg-3ubuntu1

---------------
virtualbox (6.1.18-dfsg-3ubuntu1) hirsute; urgency=medium

  * Support linux 5.11 (LP: #1917581):
    - drop vboxvideo and use the mainline driver

 -- Andrea Righi <email address hidden> Wed, 03 Mar 2021 14:42:43 +0000

Changed in virtualbox (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.