[Bug 791404] New: vaapipostproc: race condition between transform_caps and start for src caps

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Dec 8 18:32:58 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=791404

            Bug ID: 791404
           Summary: vaapipostproc: race condition between transform_caps
                    and start for src caps
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: m.tretter at pengutronix.de
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

Created attachment 365265
  --> https://bugzilla.gnome.org/attachment.cgi?id=365265&action=edit
0001-vaapipostproc-lock-ensure_filter-with-postproc_lock.patch

The vaapipostproc element contains a race between
gst_vaapipostproc_transform_caps and gst_vaapipostproc_start for
postproc->allowed_srcpad_caps. 

The caps are copied with the postproc_lock (introduced in
https://bugzilla.gnome.org/show_bug.cgi?id=766940) held via

gst_vaapipostproc_transform_caps -> gst_vaapipostproc_transform_caps_impl ->
gst_vaapipostproc_transform_srccaps -> gst_caps_get_structure

And the same structure is released without holding the lock in

gst_vaapipostproc_start -> gst_vaapipostproc_ensure_filter -> gst_caps_replace

The call from gst_vaapipostproc_start to gst_vaapipostproc_ensure_filter should
also be protected by the postproc_lock.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list