[Intel-gfx] [PATCH xf86-video-intel] sna: Initialize sna pointer
Jeffrey Knockel
jeff at jeffreyknockel.com
Thu Jul 21 19:37:36 UTC 2022
From: Jeffrey Knockel <jeff at jeffreyknockel.com>
Initialize the sna pointer if it hasn't already been initialized.
Otherwise, we have the following segfault:
0x00007f24b993ef04 in list_add (entry=0x564a7a1380f8, head=0x7ffd01899aa8) at ../../src/intel_list.h:161
0x00007f24b993f0a0 in list_move (list=0x564a7a1380f8, head=0x7ffd01899aa8) at ../../src/intel_list.h:248
0x00007f24b99524c9 in sna_drawable_use_bo (drawable=0x564a79ef0530, flags=0, box=0x7ffd01853c80, damage=0x7ffd01853ca0)
at sna_accel.c:3965
0x00007f24b996f21b in sna_poly_segment (drawable=0x564a79ef0530, gc=0x564a7a0c44f0, n=146, seg=0x564a7a582ff4)
at sna_accel.c:10858
0x0000564a788607bf in damagePolySegment (pDrawable=0x564a79ef0530, pGC=0x564a7a0c44f0, nSeg=146, pSeg=0x564a7a582ff4)
at ../miext/damage/damage.c:1023
0x0000564a787e3577 in ProcPolySegment (client=0x564a7a15bc10) at ../dix/dispatch.c:1909
0x0000564a787df4be in Dispatch () at ../dix/dispatch.c:551
0x0000564a787eeb2b in dix_main (argc=11, argv=0x7ffd01854128, envp=0x7ffd01854188) at ../dix/main.c:272
0x0000564a789e05cd in main (argc=11, argv=0x7ffd01854128, envp=0x7ffd01854188) at ../dix/stubmain.c:34
Signed-off-by: Jeffrey Knockel <jeff at jeffreyknockel.com>
---
src/sna/sna_accel.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 89b82afa..72a84833 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -3632,7 +3632,7 @@ sna_drawable_use_bo(DrawablePtr drawable, unsigned flags, const BoxRec *box,
{
PixmapPtr pixmap = get_drawable_pixmap(drawable);
struct sna_pixmap *priv = sna_pixmap(pixmap);
- struct sna *sna;
+ struct sna *sna = NULL;
RegionRec region;
int16_t dx, dy;
int ret;
@@ -3962,6 +3962,8 @@ use_gpu_bo:
if (priv->shm) {
assert(!priv->flush);
+ if (sna == NULL)
+ sna = to_sna_from_pixmap(pixmap);
list_move(&priv->flush_list, &sna->flush_pixmaps);
}
--
2.34.1
More information about the Intel-gfx
mailing list