Bug ID | 92480 |
---|---|
Summary | [Patch] Linux mutex leak in drm_dp_get_mst_branch |
Product | DRI |
Version | unspecified |
Hardware | x86-64 (AMD64) |
OS | Linux (All) |
Status | NEW |
Severity | normal |
Priority | medium |
Component | General |
Assignee | dri-devel@lists.freedesktop.org |
Reporter | adam_richter2004@yahoo.com |
I believe I have found a mutex leak in drm_dp_get_mst_branch_device() in linux/drivers/gpu/drm/drm_dp_mst_topology.c in kernels 4.2-rc1 through the current version, 4.3-rc5, where the function can take an error exit without doing mutex_unlock(&mgr_lock). I have attached a proposed patch. Unfortunately, since I made the patch, I have not been able to trigger the error branch that the patch fixes, but I did find the bug by observing that error branch executing and printing an error message that I believe is unique to that branch ("*ERROR* failed to lookup MSTB"): [ 36.944273] [drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt lied (SDE)! [ 74.576811] [drm:drm_dp_get_mst_branch_device [drm_kms_helper]] *ERROR* failed to lookup MSTB with lct 2, rad 10 [ 74.587704] BUG: workqueue leaked lock or atomic: kworker/u8:0/0x00000000/6 [ 74.587704] last function: i915_digport_work_func [i915] [ 74.655752] [drm:gen8_irq_handler [i915]] *ERROR* The master control interrupt lied (SDE)! I think this patch is also arguably an infinitesimal improvement in that it depends less on the optimizer, by reducing two references to port->mstb to one. Anyhow, if the patch looks good, I would be delighted to if the appropriate person (Dave?) would integrate it for submission upstream. Thanks in advance for any feedback on this.
You are receiving this mail because:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel