public inbox for kernel-testers@vger.kernel.org
 help / color / mirror / Atom feed
From: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
To: Roland Dreier <rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Cc: "Brandeburg,
	Jesse" <jesse.brandeburg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Kernel Testers List
	<kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"drivers_video-dri-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org"
	<drivers_video-dri-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org>,
	Jesse Barnes <jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org>,
	intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [Bug #12491] i915 lockdep warning
Date: Tue, 10 Feb 2009 16:43:12 -0800	[thread overview]
Message-ID: <1234312992.32506.30.camel@gaiman> (raw)
In-Reply-To: <adabptfc90m.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2384 bytes --]

On Fri, 2009-02-06 at 17:48 -0800, Roland Dreier wrote:
> [intel-gfx CC added]
> 
>  > I tested this on my 965 based system that showed the issue and it seemed resolved, at least no warnings in dmesg.  Lockdep was confirmed to still be enabled.
> 
>  > I can mark the bug fixed in korg bugzilla too.
> 
> Probably we just want to add a comment saying the patch works -- the bug
> should stay open until we get the fix upstream I guess.
> 
>  > Thank you Roland for looking into this, good work!
> 
> Thanks for testing!  Patch with updated changelog (including your
> tested-by) below.  Jesse [Barnes] and/or Eric please review and apply:
> 
> ---
> 
> i915: Fix potential AB-BA deadlock in i915_gem_execbuffer()
> 
> Lockdep warns that i915_gem_execbuffer() can trigger a page fault (which
> takes mmap_sem) while holding dev->struct_mutex, while drm_vm_open()
> (which is called with mmap_sem already held) takes dev->struct_mutex.
> So this is a potential AB-BA deadlock.
> 
> The way that i915_gem_execbuffer() triggers a page fault is by doing
> copy_to_user() when returning new buffer offsets back to userspace;
> however there is no reason to hold the struct_mutex when doing this
> copy, since what is being copied is the contents of an array private to
> i915_gem_execbuffer() anyway.  So we can fix the potential deadlock (and
> get rid of the lockdep warning) by simply moving the copy_to_user()
> outside of where struct_mutex is held.
> 
> This fixes <http://bugzilla.kernel.org/show_bug.cgi?id=12491>.
> 
> Reported-by: Jesse Brandeburg <jesse.brandeburg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Tested-by: Jesse Brandeburg <jesse.brandeburg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>

This only fixes 1 of the about 4 of this type of deadlock, but it looks
like a fine fix for that and I've put it in my tree.  Thanks!

(I'd been holding off on hitting the easy ones to figure out if we could
get the lock order the other way around.  It would be really nice if we
could have struct_mutex -> mmap_sem, but it looks like that's just not
going to happen.  pread and pwrite are going to be a mess.)

-- 
Eric Anholt
eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org                         eric.anholt-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  parent reply	other threads:[~2009-02-11  0:43 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-04 10:21 2.6.29-rc3-git6: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-04 10:21 ` [Bug #12400] git-latest: kernel oops in IOMMU setup Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12414] iwl4965 cannot use "ap auto" on latest 2.6.28/29? Rafael J. Wysocki
2009-02-04 19:15   ` Jeff Chua
     [not found]     ` <b6a2187b0902041115u130fcfe7ha1612e2e2fa1ec36-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-05  1:37       ` Rafael J. Wysocki
     [not found]         ` <200902050237.39394.rjw-KKrjLPT3xs0@public.gmane.org>
2009-02-05 14:34           ` Jeff Chua
2009-02-14 11:41   ` Jeff Chua
     [not found]     ` <b6a2187b0902140341y2a1da743o7b012e6386583a62-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-14 18:46       ` Jeff Chua
     [not found]         ` <b6a2187b0902141046r76f80b9ar6df6a0e2472ef61b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-14 20:10           ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12415] WARNING: at drivers/net/wireless/iwlwifi/iwl-sta.c:689 Rafael J. Wysocki
2009-02-04 13:04   ` Christian Borntraeger
     [not found]     ` <200902041404.46539.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2009-02-05  1:39       ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12416] Recent change to kernel spikes out ccache/distcc Rafael J. Wysocki
2009-02-05  1:57   ` Theodore Tso
     [not found]     ` <20090205015725.GF8945-3s7WtUTddSA@public.gmane.org>
2009-02-05  2:13       ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12418] Repeated ioctl(4, 0x40046445, ..) loop in glxgears Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12419] possible circular locking dependency on i915 dma Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12417] glx performance drop with: "x86: PAT: implement track/untrack of pfnmap regions for x86 - v3" Rafael J. Wysocki
2009-02-04 13:46   ` Ingo Molnar
     [not found]     ` <20090204134612.GB17024-X9Un+BFzKDI@public.gmane.org>
2009-02-04 16:02       ` Alexey Fisher
     [not found]         ` <4989BC16.4080602-M18mAb7Tlt0yCq4wW13eYl6hYfS7NtTn@public.gmane.org>
2009-02-04 16:42           ` Ingo Molnar
     [not found]             ` <20090204164257.GD25996-X9Un+BFzKDI@public.gmane.org>
2009-02-05  0:55               ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12427] cpumask change causes sparc build bustage Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12441] Xorg can't use dri on radeon X1950 AGP Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12444] X hangs following switch from radeonfb console - Bisected Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12490] ath5k related kernel panic in 2.6.29-rc1 Rafael J. Wysocki
2009-02-06 18:48   ` Bob Copeland
     [not found]     ` <20090206184156.M22909-aXfl/3sk2vNUbtYUoyoikg@public.gmane.org>
2009-02-06 23:55       ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-02-04 22:37   ` Roland Dreier
     [not found]     ` <adar62dltg1.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-02-05  1:03       ` Rafael J. Wysocki
2009-02-06 22:46         ` Roland Dreier
2009-02-06 23:40           ` Jesse Barnes
     [not found]           ` <adar62bchfw.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-02-07  1:20             ` Brandeburg, Jesse
     [not found]               ` <F169D4F5E1F1974DBFAFABF47F60C10A1DFD867C-osO9UTpF0URzLByeVOV5+bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2009-02-07  1:48                 ` Roland Dreier
     [not found]                   ` <adabptfc90m.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-02-07 13:53                     ` Rafael J. Wysocki
2009-02-11  0:43                     ` Eric Anholt [this message]
2009-02-11 18:14                       ` Roland Dreier
2009-02-04 10:23 ` [Bug #12496] swsusp cannot find resume device (sometimes) Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12493] ACPI related kernel panic when booting 2.6.29-rc2 Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12494] Sony backlight regression from 2.6.28 to 29-rc Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12495] thinkpad problems during resume Rafael J. Wysocki
2009-02-04 13:06   ` Christian Borntraeger
     [not found]     ` <200902041406.50578.borntraeger-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2009-02-05  1:41       ` Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12501] build bug in eeepc-laptop.c Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12499] Problem with using bluetooth adaper connected to usb port Rafael J. Wysocki
2009-02-04 10:23 ` [Bug #12497] new barrier warnings in 2.6.29-rc1 Rafael J. Wysocki
2009-02-06  8:12   ` Christoph Hellwig
2009-02-04 10:24 ` [Bug #12505] 2.6.29-rc1 Firefox crashing on page load Rafael J. Wysocki
2009-02-04 15:23   ` Justin Mattock
     [not found]     ` <dd18b0c30902040723m70f87f7fp4af32702410036d7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-04 16:46       ` Ingo Molnar
     [not found]         ` <20090204164623.GE25996-X9Un+BFzKDI@public.gmane.org>
2009-02-04 18:15           ` Justin Mattock
     [not found]             ` <dd18b0c30902041015m2213d94cx72d41bd225afa3e9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-05  1:08               ` Rafael J. Wysocki
     [not found]                 ` <200902050208.15776.rjw-KKrjLPT3xs0@public.gmane.org>
2009-02-05  1:37                   ` Justin Mattock
2009-02-04 10:24 ` [Bug #12503] [slab corruption] BUG key_jar: Poison overwritten Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12502] pipe_read oops on sh Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12509] lockdep report. fb_mmap vs sys_mmap2 Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12506] Undefined symbols when CONFIG_MFD_PCF50633 is enabled Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12508] "powerpc/pci: Reserve legacy regions on PCI" broke my G3 Rafael J. Wysocki
2009-02-04 21:44   ` Benjamin Herrenschmidt
2009-02-06 18:55     ` Mikael Pettersson
2009-02-04 10:24 ` [Bug #12510] 2.6.29-rc2 dies on startup Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12511] WARNING: at drivers/dma/dmaengine.c:352 Rafael J. Wysocki
2009-02-04 16:03   ` Dan Williams
     [not found]     ` <e9c3a7c20902040803p12ffe0bcrced5249c4b667623-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-05  1:13       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12518] BUG: using smp_processor_id() in preemptible [00000000] code: dellWirelessCtl/ Rafael J. Wysocki
2009-02-04 15:58   ` Alex Riesen
2009-02-04 10:24 ` [Bug #12551] end_request: I/O error, dev cciss/c0d0, sector 87435720 Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12538] xfs_fsr fails on 2.6.29-rc kernels Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12591] NULL pointer dereference in blk_queue_io_stat Rafael J. Wysocki
2009-02-04 12:53   ` Jens Axboe
     [not found]     ` <20090204125320.GH30821-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-02-05  1:21       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12574] possible circular locking dependency detected Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12571] Suspend-resume on Dell Latitude D410 newly broken in 2.6.29-rc* Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12598] tg3 dead after resume Rafael J. Wysocki
2009-02-05  0:43   ` Parag Warudkar
2009-02-05  1:03     ` Jesse Barnes
2009-02-04 10:24 ` [Bug #12600] i915 lockdep warning Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12599] dri /dev node disappeared with 2.6.29-rc1 Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12602] CRED changes causing setuid failures Rafael J. Wysocki
2009-02-04 18:09   ` David Smith
     [not found]     ` <4989D9C3.7060408-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-02-05  1:15       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12601] virt-manager broken on 2.6.29-rc2 Rafael J. Wysocki
2009-02-04 23:26   ` Stephen Hemminger
2009-02-05  1:25     ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12604] Commit 31a12666d8f0c22235297e1c1575f82061480029 slows down Berkeley DB Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12605] Suspend regression, hang after matroxfb Rafael J. Wysocki
2009-02-05 12:16   ` Eric Sesterhenn
2009-02-05 16:12     ` Rafael J. Wysocki
     [not found]       ` <200902051712.56407.rjw-KKrjLPT3xs0@public.gmane.org>
2009-02-08 12:39         ` Eric Sesterhenn
2009-02-04 10:24 ` [Bug #12606] fb_mmap: circular locking dependency on hibernation Rafael J. Wysocki
2009-02-04 14:43   ` Andrey Borzenkov
     [not found]     ` <200902041743.08010.arvidjaar-JGs/UdohzUI@public.gmane.org>
2009-02-05  1:43       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12610] sync-Regression in 2.6.28.2? Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12611] kernel BUG at kernel/cgroup.c:398! Rafael J. Wysocki
2009-02-05  1:02   ` Li Zefan
     [not found]     ` <498A3AB7.9060701-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2009-02-05  1:53       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12609] v2.6.29-rc2 libata sff 32bit PIO regression Rafael J. Wysocki
2009-02-05 17:30   ` Hugh Dickins
     [not found]     ` <Pine.LNX.4.64.0902051723520.1445-XZxpfvf5U/bbmfIwyoSfiQ@public.gmane.org>
2009-02-05 22:54       ` Rafael J. Wysocki
     [not found]         ` <200902052354.16361.rjw-KKrjLPT3xs0@public.gmane.org>
2009-02-06 23:10           ` Larry Finger
     [not found]             ` <498CC380.1070705-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2009-02-06 23:58               ` Rafael J. Wysocki
2009-02-23 16:22                 ` Larry Finger
     [not found]                   ` <49A2CD3B.4090703-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2009-02-23 22:13                     ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12608] 2.6.29-rc powerpc G5 Xorg legacy_mem regression Rafael J. Wysocki
2009-02-04 23:48   ` Benjamin Herrenschmidt
2009-02-05 17:23     ` Hugh Dickins
     [not found]       ` <Pine.LNX.4.64.0902051713550.1445-XZxpfvf5U/bbmfIwyoSfiQ@public.gmane.org>
2009-02-05 21:05         ` Benjamin Herrenschmidt
2009-02-05 21:20           ` Hugh Dickins
2009-02-05 21:45           ` Dave Airlie
     [not found]             ` <21d7e9970902051345h76fb26c1hc0397f6262f70eae-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-06  6:01               ` Benjamin Herrenschmidt
2009-02-05 22:33           ` Jesse Barnes
     [not found]             ` <200902051433.23294.jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org>
2009-02-05 23:57               ` Benjamin Herrenschmidt
2009-02-06  5:40               ` Benjamin Herrenschmidt
2009-02-06 12:56                 ` Hugh Dickins
2009-02-06 16:49                   ` Jesse Barnes
     [not found]                     ` <200902060849.45851.jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org>
2009-02-06 22:17                       ` Hugh Dickins
     [not found]                         ` <Pine.LNX.4.64.0902062205540.5710-XZxpfvf5U/bbmfIwyoSfiQ@public.gmane.org>
2009-02-06 22:45                           ` Jesse Barnes
     [not found]                             ` <200902061445.11379.jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org>
2009-02-07  0:50                               ` Hugh Dickins
2009-02-07  1:47                                 ` Jesse Barnes
2009-02-07  3:05                               ` Benjamin Herrenschmidt
2009-02-07 23:15                                 ` Jesse Barnes
     [not found]                   ` <Pine.LNX.4.64.0902061248010.14011-XZxpfvf5U/bbmfIwyoSfiQ@public.gmane.org>
2009-02-07  2:51                     ` Benjamin Herrenschmidt
2009-02-04 10:24 ` [Bug #12615] boot hangs while bringing up gianfar ethernet Rafael J. Wysocki
2009-02-04 16:54   ` Ira Snyder
     [not found]     ` <20090204165410.GA21717-lulEs6mt1IksTUYHLfqkUA@public.gmane.org>
2009-02-05  1:23       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12616] boot hang: async vs. kexec Rafael J. Wysocki
2009-02-04 16:50   ` Randy Dunlap
     [not found]     ` <4989C74A.2020402-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2009-02-05  1:26       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12613] [Suspend regression][DRM, RADEON] Rafael J. Wysocki
2009-02-04 22:25   ` etienne
     [not found]     ` <498A15C3.30904-Bf/eaXMDFuuXqB7oj33eUg@public.gmane.org>
2009-02-05  1:18       ` Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12617] unable to compile e100 firmware into kernel Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12621] Resume broken on iBook Rafael J. Wysocki
2009-02-04 10:24 ` [Bug #12618] hackbench [pthread mode] regression with 2.6.29-rc3 Rafael J. Wysocki
  -- strict thread matches above, loose matches on Subject: below --
2009-02-23 21:45 2.6.29-rc6: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-23 21:48 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-02-24  1:36   ` Roland Dreier
     [not found]     ` <adabpssvcn9.fsf-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
2009-02-24  1:44       ` Rafael J. Wysocki
2009-02-14 20:35 2.6.29-rc5: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-14 20:38 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-02-08 19:05 2.6.29-rc4: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-02-08 19:21 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki
2009-01-19 21:28 2.6.29-rc2-git1: Reported regressions from 2.6.28 Rafael J. Wysocki
2009-01-19 21:32 ` [Bug #12491] i915 lockdep warning Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1234312992.32506.30.camel@gaiman \
    --to=eric-whkq6xtqapystnjn9+bgxg@public.gmane.org \
    --cc=drivers_video-dri-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org \
    --cc=intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org \
    --cc=jesse.brandeburg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
    --cc=rjw-KKrjLPT3xs0@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox