VirtualBox

Ticket #13265 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

vboxvideo does not behave well with drm_wait_vblank() -> fixed in 4.3 and later releases after 29 August 2014

Reported by: k-s Owned by:
Priority: major Component: guest additions
Version: VirtualBox 4.3.14 Keywords:
Cc: Guest type: Linux
Host type: Mac OS X

Description

Using vboxvideo and the attached test case (which calls drm_wait_vblank()) triggers a kernel oops.

This happens with VirtualBox 4.3.14 official binary and extension pack (virtualbox.org) for MacOS 10.9.4 as host and ArchLinux 32bits kernel 3.15.8-1-ARCH + virtualbox-guest-modules 4.3.14-3.

It was found running Enlightenment from GIT that uses similar code path, but the attached test case is the minimum version.

Attachments

vbox-vblank-crash.c Download (589 bytes) - added by k-s 3 years ago.
vbox-vblank-crash.c
dmesg-3.15.8-1-ARCH_oops_vboxvideo_drm.log Download (30.8 KB) - added by k-s 3 years ago.
dmesg log
oops-fedora-20-kernel-3.15.8-200.txt Download (2.7 KB) - added by Ryback_ 3 years ago.

Change History

Changed 3 years ago by k-s

vbox-vblank-crash.c

Changed 3 years ago by k-s

dmesg log

comment:1 Changed 3 years ago by Ryback_

Also reproduces on Fedora 20, kernel 3.15.8-200.fc20.x86_64, SMP. Oops attached.

Changed 3 years ago by Ryback_

comment:2 Changed 3 years ago by michael

Could you see if applying the following patch to the vboxvideo source (on your guest) and rebuilding it helps?

Index: vboxvideo_drm.c
===================================================================
--- vboxvideo_drm.c	(revision 95379)
+++ vboxvideo_drm.c	(working copy)
@@ -112,11 +112,7 @@
 
 int vboxvideo_driver_load(struct drm_device * dev, unsigned long flags)
 {
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
-    return drm_vblank_init(dev, 1);
-#else
     return 0;
-#endif
 }
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0) || defined(DRM_FOPS_AS_POINTER)
 /* since linux-3.3.0-rc1 drm_driver::fops is pointer */

comment:3 Changed 3 years ago by michael

  • Summary changed from vboxvideo does not behave well with drm_wait_vblank() to vboxvideo does not behave well with drm_wait_vblank() -> fixed in 4.3 and later releases after 29 August 2014

No response, so I just committed the patch.

comment:4 Changed 3 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Fix is part of VBox 4.3.16.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use