Advertisement
Guest User

Untitled

a guest
Jun 15th, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.21 KB | None | 0 0
  1. From d43f41250b3628450e268f7d325c066e19c00a8b Mon Sep 17 00:00:00 2001
  2. From: Michel Thierry <michel.thierry@intel.com>
  3. Date: Tue, 12 May 2015 10:25:52 +0100
  4. Subject: [PATCH] drm: Prevent null mutext_unlock
  5.  
  6. Added by commit 672cb1d6aec7da2799afd1b529d5136d84ed2561
  7. Author: Daniel Stone <daniels@collabora.com>
  8. Date: Mon Apr 20 19:22:55 2015 +0100
  9.  
  10. drm: Add reference counting to blob properties
  11.  
  12. Reference-count drm_property_blob objects, changing the API to
  13. ref/unref.
  14.  
  15. Signed-off-by: Daniel Stone <daniels@collabora.com>
  16. Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  17. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  18.  
  19. [ 17.436310] [drm:drm_helper_probe_single_connector_modes_merge_bits] [CONNECTOR:31:eDP-1] status updated from 3 to 1
  20. [ 17.436369] general protection fault: 0000 [#1] SMP
  21. [ 17.436408] Workqueue: events_unbound async_run_entry_fn
  22. [ 17.436410] task: ffff88014879cf50 ti: ffff880144754000 task.ti: ffff880144754000
  23. [ 17.436415] RIP: 0010:[<ffffffff817b6716>] [<ffffffff817b6716>] mutex_unlock+0x6/0x20
  24. [ 17.436416] RSP: 0018:ffff880144757bd8 EFLAGS: 00010202
  25. [ 17.436417] RAX: 00000000001f0001 RBX: ffff88014541aaa8 RCX: 00000001001f001a
  26. [ 17.436418] RDX: 000000000000001f RSI: ffffea0005150600 RDI: 6b6b6b6b6b6b6fab
  27. [ 17.436419] RBP: ffff880144757bf8 R08: ffff88014541aaa8 R09: 00000001001f0019
  28. [ 17.436420] R10: ffff880145895178 R11: 000000000000000f R12: ffff8800a87d57c8
  29. [ 17.436421] R13: ffff88014541aaa8 R14: ffff8800a87d5388 R15: ffffffffa0398d90
  30. [ 17.436422] FS: 0000000000000000(0000) GS:ffff88014e480000(0000) knlGS:0000000000000000
  31. [ 17.436423] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  32. [ 17.436424] CR2: 000056518ffbf098 CR3: 0000000035a25000 CR4: 00000000003407e0
  33. [ 17.436425] Stack:
  34. [ 17.436427] ffff880144757bf8 ffffffffa01fe3be ffff8800a866b888 ffff88014541acb0
  35. [ 17.436429] ffff880144757c48 ffffffffa01fe467 0000000000000000 ffff8800a87d5750
  36. [ 17.436431] ffff880144546c88 ffff8800a866b7d8 ffff8800a866b7b0 ffff8800a77fe8f8
  37. [ 17.436432] Call Trace:
  38. [ 17.436448] [<ffffffffa01fe3be>] ? drm_property_unreference_blob+0xbe/0xc0 [drm]
  39. [ 17.436460] [<ffffffffa01fe467>] drm_property_replace_global_blob+0xa7/0x130 [drm]
  40. [ 17.436471] [<ffffffffa01fe539>] drm_mode_connector_update_edid_property+0x49/0x50 [drm]
  41. [ 17.436508] [<ffffffffa03554d4>] intel_connector_update_modes+0x24/0x50 [i915]
  42. [ 17.436539] [<ffffffffa036d139>] intel_dp_get_modes+0x29/0x90 [i915]
  43. [ 17.436546] [<ffffffffa02a7aeb>] drm_helper_probe_single_connector_modes_merge_bits+0xfb/0x4f0 [drm_kms_helper]
  44. [ 17.436551] [<ffffffffa02a7f13>] drm_helper_probe_single_connector_modes+0x13/0x20 [drm_kms_helper]
  45. [ 17.436558] [<ffffffffa02b2eaa>] drm_fb_helper_initial_config+0x7a/0x430 [drm_kms_helper]
  46. [ 17.436561] [<ffffffff810aacdd>] ? vtime_common_task_switch+0x3d/0x50
  47. [ 17.436589] [<ffffffffa035f23b>] intel_fbdev_initial_config+0x1b/0x20 [i915]
  48. [ 17.436591] [<ffffffff8109af6c>] async_run_entry_fn+0x4c/0x160
  49. [ 17.436596] [<ffffffff8109202d>] worker_thread+0x11d/0x540
  50. [ 17.436599] [<ffffffff817b41bf>] ? __schedule+0x36f/0x9ca
  51. [ 17.436601] [<ffffffff81091f10>] ? create_worker+0x1d0/0x1d0
  52. [ 17.436604] [<ffffffff81098609>] kthread+0xc9/0xe0
  53. [ 17.436607] [<ffffffff81098540>] ? flush_kthread_worker+0x90/0x90
  54. [ 17.436609] [<ffffffff817b8fa2>] ret_from_fork+0x42/0x70
  55. [ 17.436612] [<ffffffff81098540>] ? flush_kthread_worker+0x90/0x90
  56. [ 17.436636] RIP [<ffffffff817b6716>] mutex_unlock+0x6/0x20
  57. [ 17.436637] RSP <ffff880144757bd8>
  58. [ 17.436648] ---[ end trace 3d71b0d542ada905 ]---
  59.  
  60. Signed-off-by: Michel Thierry <michel.thierry@intel.com>
  61. ---
  62. drivers/gpu/drm/drm_crtc.c | 2 +-
  63. 1 file changed, 1 insertion(+), 1 deletion(-)
  64.  
  65. diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
  66. index e3ee5de..62b36f8 100644
  67. --- a/drivers/gpu/drm/drm_crtc.c
  68. +++ b/drivers/gpu/drm/drm_crtc.c
  69. @@ -4306,7 +4306,7 @@ void drm_property_unreference_blob(struct drm_property_blob *blob)
  70.  
  71. if (kref_put_mutex(&blob->refcount, drm_property_free_blob,
  72. &dev->mode_config.blob_lock))
  73. - mutex_unlock(&blob->dev->mode_config.blob_lock);
  74. + mutex_unlock(&dev->mode_config.blob_lock);
  75. else
  76. might_lock(&dev->mode_config.blob_lock);
  77.  
  78. --
  79. 2.4.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement