Mesa (master): radeonsi: fix an out-of-bounds read reported by ASAN

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 19 10:17:07 UTC 2018


Module: Mesa
Branch: master
Commit: 46a59ce0262a44d6520787741085a716c99200ed
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=46a59ce0262a44d6520787741085a716c99200ed

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Nov 16 17:20:26 2018 +0100

radeonsi: fix an out-of-bounds read reported by ASAN

We read 4 values out of sample_locs_8x, so make sure the array is
big enough.

Fixes: ac76aeef20 ("radeonsi: switch back to standard DX sample positions")
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_msaa.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_state_msaa.c b/src/gallium/drivers/radeonsi/si_state_msaa.c
index b741bcadec..e6d97fe672 100644
--- a/src/gallium/drivers/radeonsi/si_state_msaa.c
+++ b/src/gallium/drivers/radeonsi/si_state_msaa.c
@@ -101,6 +101,10 @@ static const uint64_t centroid_priority_4x = 0x3210321032103210ull;
 static const uint32_t sample_locs_8x[] = {
 	FILL_SREG(-3,-5,   5, 1,  -1, 3,   7,-7),
 	FILL_SREG(-7,-1,   3, 7,  -5, 5,   1,-3),
+	/* The following are unused by hardware, but we emit them to IBs
+	 * instead of multiple SET_CONTEXT_REG packets. */
+	0,
+	0,
 };
 static const uint64_t centroid_priority_8x = 0x3546012735460127ull;
 




More information about the mesa-commit mailing list