Public bug reported:

Release: 20.04/Focal Fossa

[SRU Justification]

Impact: Starting with kernel version 5.4 the v4l2-core started to add
sanity checking on drivers when querying capabilities. First drivers are
not supposed to modify an initially set device_caps attribute. And
second, the returned set of capabilities must be a superset of those in
device_caps. The v4l2loopback module fails on both checks which results
in repeated warnings (with additional stack trace) starting with:

- WARNING: CPU: 2 PID: 7234 at drivers/media/v4l2-core/v4l2-ioctl.c:1064 
v4l_querycap+0x8f/0xa0 [videodev]
- WARNING: CPU: 2 PID: 7234 at drivers/media/v4l2-core/v4l2-ioctl.c:1069 
v4l_querycap+0x8f/0xa0 [videodev]

Fix: The proposed fix adds compat code which stops modifying device_caps
after initial setup for kernel versions 5.4 and later. Also for those
versions the initial setup excludes V4L2_CAP_VIDEO_CAPTURE and
V4L2_CAP_VIDEO_OUTPUT as those capabilities might be optionally set when
calling v4l_querycap() to indicate readyness.

Testcase: Inserting the DKMS module the following way should start showing the 
above warnings:
  sudo modprobe v4l2loopback exclusive_caps=1
Once the fixed version is used, there should no longer be any warnings.

Regression Potential: The change affects the internal device_caps
variable only. If that is unexpectedly used by anything external (the
kernel code should be assumed to expect the modified form) the loopback
device might become unusable for recording/playback. I have been using
the modified driver for a while now as v4l2sink in obs-studio and saw
now issues.

** Affects: v4l2loopback (Ubuntu)
     Importance: Medium
         Status: Fix Released

** Affects: v4l2loopback (Ubuntu Focal)
     Importance: Medium
     Assignee: Stefan Bader (smb)
         Status: In Progress

** Also affects: v4l2loopback (Ubuntu Focal)
   Importance: Undecided
       Status: New

** Changed in: v4l2loopback (Ubuntu Focal)
   Importance: Undecided => Medium

** Changed in: v4l2loopback (Ubuntu Focal)
       Status: New => In Progress

** Changed in: v4l2loopback (Ubuntu Focal)
     Assignee: (unassigned) => Stefan Bader (smb)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1899633

Title:
  Repeated kernel warnings/stacktraces with kernel 5.4 and newer

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/v4l2loopback/+bug/1899633/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to