Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Feb 2009 09:19:19 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-amd64@freebsd.org
Cc:        freebsd-gnats-submit@freebsd.org, Olivier Cochard-Labbe <olivier@freenas.org>, rnoland@freebsd.org
Subject:   Re: amd64/132042: drm module crash the system when closing gnome session
Message-ID:  <200902250919.19779.jhb@freebsd.org>
In-Reply-To: <200902240640.n1O6eLg7058706@www.freebsd.org>
References:  <200902240640.n1O6eLg7058706@www.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 24 February 2009 1:40:21 am Olivier Cochard-Labbe wrote:
> 
> >Number:         132042
> >Category:       amd64

This is drm specific and not amd64-specific.

> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address   = 0x258
> fault code              = supervisor read data, page not present
>
> #7  0xffffffff8050c34e in calltrap () at /usr/src/sys/amd64/amd64/exception.S:209
> #8  0xffffffff802d47aa in _mtx_lock_sleep (m=0xffffff000348a968, tid=18446742974229954560, opts=Variable "opts" is not available.
> ) at /usr/src/sys/kern/kern_mutex.c:339
> #9  0xffffffff802d4b5f in _mtx_lock_flags (m=Variable "m" is not available.
> ) at /usr/src/sys/kern/kern_mutex.c:186
> #10 0xffffffffaf18c11d in i915_irq_wait (kdev=Variable "kdev" is not available.
> ) at /usr/src/sys/modules/drm/i915/../../../dev/drm/i915_irq.c:117
> #11 0xffffffffaf194179 in drm_ioctl (kdev=0xffffff0001f76400, cmd=2147771461, data=0xffffff002f9d11d0 "\031Y", flags=67,
>     p=0xffffff0001e8c000) at /usr/src/sys/modules/drm/drm/../../../dev/drm/drm_drv.c:911
> #12 0xffffffff802ab4d2 in giant_ioctl (dev=0xffffff0001f76400, cmd=2147771461, data=0xffffff002f9d11d0 "\031Y", fflag=67,
>     td=0xffffff0001e8c000) at /usr/src/sys/kern/kern_conf.c:408
> 
> (kgdb) up 10
> #10 0xffffffffaf18c11d in i915_irq_wait (kdev=Variable "kdev" is not available.
> ) at /usr/src/sys/modules/drm/i915/../../../dev/drm/i915_irq.c:117
> 117		DRM_WAIT_ON(ret, dev_priv->irq_queue, 3 * DRM_HZ,
> 
> 
> (kgdb) list *0xffffffff802d47aa

Please go to frame 8 and 'p *m'.  If the 'mtx_lock' member is 6, then the
mutex is destroyed and it is a use-after-free bug in drm(4).

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902250919.19779.jhb>