Skip to content

Commit

Permalink
r600: fix typo that could lead to a possible crash
Browse files Browse the repository at this point in the history
For instance, with "piglit/bin/arb_shader_image_load_store-host-mem-barrier --quick -auto -fbo":
==18549==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61200000a059 at pc 0x7f65d8937b80 bp 0x7fff6ed19a00 sp 0x7fff6ed199f8
READ of size 1 at 0x61200000a059 thread T0
    #0 0x7f65d8937b7f in evergreen_set_shader_images ../src/gallium/drivers/r600/evergreen_state.c:4277
    #1 0x7f65d6b471b8 in st_bind_images ../src/mesa/state_tracker/st_atom_image.c:172
    #2 0x7f65d6b76b26 in st_validate_state ../src/mesa/state_tracker/st_util.h:129
    #3 0x7f65d6b76b26 in prepare_draw ../src/mesa/state_tracker/st_draw.c:88
    #4 0x7f65d6b77c8a in st_draw_gallium ../src/mesa/state_tracker/st_draw.c:141
    #5 0x7f65d72698a2 in _mesa_draw_arrays ../src/mesa/main/draw.c:1202

Fixes: a6b3792 ("r600: add core pieces of image support.")
Signed-off-by: Patrick Lerda <[email protected]>
Reviewed-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22273>
(cherry picked from commit e0ed2b2)
  • Loading branch information
Patrick Lerda authored and dcbaker-intel committed Apr 5, 2023
1 parent 82f1ec9 commit f33cca5
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .pick_status.json
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@
"description": "r600: fix typo that could lead to a possible crash",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "a6b379284365e8adee780b691596d3a66de1ba93"
},
Expand Down
2 changes: 1 addition & 1 deletion src/gallium/drivers/r600/evergreen_state.c
Original file line number Diff line number Diff line change
Expand Up @@ -4274,7 +4274,7 @@ static void evergreen_set_shader_images(struct pipe_context *ctx,

bool is_buffer = image->target == PIPE_BUFFER;
struct r600_texture *rtex = (struct r600_texture *)image;
if (!is_buffer & rtex->db_compatible)
if (!is_buffer && rtex->db_compatible)
istate->compressed_depthtex_mask |= 1 << i;
else
istate->compressed_depthtex_mask &= ~(1 << i);
Expand Down

0 comments on commit f33cca5

Please sign in to comment.