[Intel-gfx] NULL pointer dereference in trace_i915_context_free
Chris Wilson
chris at chris-wilson.co.uk
Thu Jul 9 02:13:21 PDT 2015
On Thu, Jul 09, 2015 at 10:08:08AM +0100, Ceraolo Spurio, Daniele wrote:
> Hi,
>
> I'm hitting a NULL pointer dereference when I enable the
> i915_context_free tracepoint (call trace attached). This is caused
> by the fact that the trace tries to access ctx->file_priv, which
> however may have already been deleted (even if the pointer is !=
> NULL). I've used that trace extensively back when I've submitted it
> a few months ago without ecountering this issue, but it doesn't seem
> that there ever was a guarantee that the file_priv would be valid at
> ctx free time, so I'll put the blame on my original commit that
> introduced the trace:
>
> commit 198c974d7e80a5135fc4a2e69a07ba3e64122f8a
> Author: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Date: Mon Nov 10 13:44:31 2014 +0000
>
> drm/i915: Add tracepoints to track a vm during its lifetime
>
> The trace doesn't specifically need the file_priv pointer, it just
> uses it to reach the drm_device pointer to get the device index. To
> fix the issue I've looked for another way to get the drm_device
> pointer from the ctx, but I couldn't find any that is valid for
> every GEN. Modifying the trace to add an extra parameter is out of
> the question for 2 reasons:
> - The only variable available in i915_gem_context_free is the ctx ptr
> - Modifying a tracepoint could break ABI
>
> Ideas, anyone?
http://patchwork.freedesktop.org/patch/48529/
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list