Skip to content

Commit 92802ea

Browse files
Patrick LerdaMarge Bot
Patrick Lerda
authored and
Marge Bot
committed
i915: fix slab_create() related memory leaks
For instance, this issue is triggered with "piglit/bin/fcc-blit-between-clears -auto -fbo": Direct leak of 836 byte(s) in 1 object(s) allocated from: #0 0xb71eb6f2 in malloc (/usr/lib/libasan.so.6+0xb26f2) waydroid#1 0xaefadc78 in slab_add_new_page ../src/util/slab.c:179 waydroid#2 0xaefadc78 in slab_alloc ../src/util/slab.c:221 waydroid#3 0xaef7d461 in i915_texture_transfer_map ../src/gallium/drivers/i915/i915_resource_texture.c:789 waydroid#4 0xac9e931e in pipe_texture_map ../src/gallium/auxiliary/util/u_inlines.h:555 waydroid#5 0xac9e931e in _mesa_map_renderbuffer ../src/mesa/main/renderbuffer.c:494 waydroid#6 0xad49c5e4 in readpixels_memcpy ../src/mesa/main/readpix.c:260 waydroid#7 0xad49c5e4 in _mesa_readpixels ../src/mesa/main/readpix.c:898 waydroid#8 0xad5d8cfe in st_ReadPixels ../src/mesa/state_tracker/st_cb_readpixels.c:568 waydroid#9 0xad4a0caf in read_pixels ../src/mesa/main/readpix.c:1199 waydroid#10 0xad4a0caf in _mesa_ReadnPixelsARB ../src/mesa/main/readpix.c:1216 waydroid#11 0xad4a155b in _mesa_ReadPixels ../src/mesa/main/readpix.c:1231 or "piglit/bin/fcc-read-to-pbo-after-clear -auto": Direct leak of 772 byte(s) in 1 object(s) allocated from: #0 0xb726b6f2 in malloc (/usr/lib/libasan.so.6+0xb26f2) waydroid#1 0xaf0adc88 in slab_add_new_page ../src/util/slab.c:179 waydroid#2 0xaf0adc88 in slab_alloc ../src/util/slab.c:221 waydroid#3 0xaf07aad7 in i915_buffer_transfer_map ../src/gallium/drivers/i915/i915_resource_buffer.c:75 waydroid#4 0xad10de74 in pipe_buffer_map_range ../src/gallium/auxiliary/util/u_inlines.h:398 waydroid#5 0xad10de74 in _mesa_bufferobj_map_range ../src/mesa/main/bufferobj.c:499 waydroid#6 0xad5677ce in _mesa_map_pbo_dest ../src/mesa/main/pbo.c:308 waydroid#7 0xad59be3b in _mesa_readpixels ../src/mesa/main/readpix.c:894 waydroid#8 0xad6d8cfe in st_ReadPixels ../src/mesa/state_tracker/st_cb_readpixels.c:568 waydroid#9 0xad5a0caf in read_pixels ../src/mesa/main/readpix.c:1199 waydroid#10 0xad5a0caf in _mesa_ReadnPixelsARB ../src/mesa/main/readpix.c:1216 waydroid#11 0xad5a155b in _mesa_ReadPixels ../src/mesa/main/readpix.c:1231 Fixes: e7a73b7 ("gallium: switch drivers to the slab allocator in src/util") Signed-off-by: Patrick Lerda <[email protected]> Reviewed-by: Emma Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27570>
1 parent cf40099 commit 92802ea

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/gallium/drivers/i915/i915_context.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,9 @@ i915_destroy(struct pipe_context *pipe)
159159
pipe_resource_reference(&i915->constants[i], NULL);
160160
}
161161

162+
slab_destroy(&i915->texture_transfer_pool);
163+
slab_destroy(&i915->transfer_pool);
164+
162165
FREE(i915);
163166
}
164167

0 commit comments

Comments
 (0)