[Mesa-dev] [PATCH 02/27] i965/miptree: Remove redundant check for null texture
Pohjolainen, Topi
topi.pohjolainen at gmail.com
Tue Jan 17 08:21:13 UTC 2017
On Mon, Jan 16, 2017 at 08:33:09AM -0800, Jason Ekstrand wrote:
> On Mon, Jan 16, 2017 at 1:13 AM, Topi Pohjolainen
> <[1]topi.pohjolainen at gmail.com> wrote:
>
> There exact same check earlier in brw_miptree_layout() which
> intel_miptree_create_layout() in turn calls unconditionally.
> Signed-off-by: Topi Pohjolainen <[2]topi.pohjolainen at intel.com>
> ---
> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 25f8f39..9488bec 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -628,13 +628,8 @@ miptree_create(struct brw_context *brw,
> first_level, last_level,
> width0,
> height0, depth0, num_samples,
> layout_flags);
> - /*
> - * pitch == 0 || height == 0 indicates the null texture
> - */
> - if (!mt || !mt->total_width || !mt->total_height) {
> - intel_miptree_release(&mt);
> + if (!mt)
> return NULL;
>
> Ugh... Not quite. More miptree nastiness! Looking through the code,
> brw_miptree_layout does do this check and unrefs the miptree but has no
> way of indicating to higher levels that it has unref'd the miptree! In
> other words, if that ever happens, the aux_disable lines at the end of
> intel_miptree_create_layout will read/write freed memory and
> intel_miptree_create_layout will a valid-looking (but freed) pointer.
Indeed, good catch!!
I sent an additional patch that propagates the error. This patch should be
safe on top of that.
>
> - }
> if (mt->tiling == (I915_TILING_Y | I915_TILING_X))
> mt->tiling = I915_TILING_Y;
> --
> 2.5.5
> _______________________________________________
> mesa-dev mailing list
> [3]mesa-dev at lists.freedesktop.org
> [4]https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> References
>
> 1. mailto:topi.pohjolainen at gmail.com
> 2. mailto:topi.pohjolainen at intel.com
> 3. mailto:mesa-dev at lists.freedesktop.org
> 4. https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list