[Bug 91083] Atom D525 pineview segfault in gen3_emit_composite_primitive_constant_identity_mask_no_offset
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Jun 27 04:20:42 PDT 2015
https://bugs.freedesktop.org/show_bug.cgi?id=91083
--- Comment #3 from Chris Wilson <chris at chris-wilson.co.uk> ---
Hmm, I didn't consider that because it was a SIGSEGV and not a SIGBUS which is
what I expect from a failed pagefault.
Elsewhere we do trap fault failures and cancel the operation (losing the
rendering is better than killing X and its clients). It might be sensible to do
so here as well. For example,
diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c
index 6ee4033..1ce77d4 100644
--- a/src/sna/sna_glyphs.c
+++ b/src/sna/sna_glyphs.c
@@ -2010,6 +2010,9 @@ sna_glyphs(CARD8 op,
goto fallback;
}
+ if (sigtrap_get())
+ goto fallback;
+
priv = sna_pixmap(pixmap);
if (priv == NULL) {
DBG(("%s: fallback -- destination unattached\n",
__FUNCTION__));
@@ -2033,13 +2036,13 @@ sna_glyphs(CARD8 op,
src, dst,
src_x, src_y,
nlist, list, glyphs))
- return;
+ goto out;
} else {
if (glyphs_to_dst(sna, op,
src, dst,
src_x, src_y,
nlist, list, glyphs))
- return;
+ goto out;
}
}
@@ -2053,15 +2056,19 @@ sna_glyphs(CARD8 op,
src, dst, mask,
src_x, src_y,
nlist, list, glyphs))
- return;
+ goto out;
} else {
if (glyphs_slow(sna, op,
src, dst,
src_x, src_y,
nlist, list, glyphs))
- return;
+ goto out;
}
+out:
+ sigtrap_put();
+ return;
+
fallback:
glyphs_fallback(op, src, dst, mask, src_x, src_y, nlist, list, glyphs);
}
should handle this crash more gracefully. Do you mind testing with the older
kernel?
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20150627/4f2de23a/attachment-0001.html>
More information about the intel-gfx-bugs
mailing list