Skip to content

Commit abd80d3

Browse files
pablodelaratkanteck
authored andcommitted
erasure_code: check for size in gf_Xvect_mad_avx512_gfni
Length of data was not checked in implementation with AVX512+GFNI, at the start of the gf_Xvect_mad_avx512_gfni functions, resulting in buffer overflow if length was less than 64 bytes. Signed-off-by: Pablo de Lara <[email protected]>
1 parent c06db0c commit abd80d3

6 files changed

+12
-0
lines changed

erasure_code/gf_2vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,8 @@ func(gf_2vect_mad_avx512_gfni)
158158
mov dest2, [dest1 + 8] ; reuse mul_array
159159
mov dest1, [dest1]
160160

161+
cmp len, 64
162+
jl .len_lt_64
161163
.loop64:
162164
ENCODE_64B_2
163165

erasure_code/gf_3vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,8 @@ func(gf_3vect_mad_avx512_gfni)
173173
mov dest3, [dest1 + 2*8] ; reuse vec
174174
mov dest1, [dest1]
175175

176+
cmp len, 64
177+
jl .len_lt_64
176178
.loop64:
177179
ENCODE_64B_3
178180

erasure_code/gf_4vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@ func(gf_4vect_mad_avx512_gfni)
192192
mov dest4, [dest1 + 3*8] ; reuse vec_i
193193
mov dest1, [dest1]
194194

195+
cmp len, 64
196+
jl .len_lt_64
195197
.loop64:
196198
ENCODE_64B_4
197199

erasure_code/gf_5vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ func(gf_5vect_mad_avx512_gfni)
209209
mov dest5, [dest1 + 4*8] ; reuse vec_i
210210
mov dest1, [dest1]
211211

212+
cmp len, 64
213+
jl .len_lt_64
212214
.loop64:
213215
ENCODE_64B_5
214216

erasure_code/gf_6vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ func(gf_6vect_mad_avx512_gfni)
228228
mov dest6, [dest1 + 5*8] ; reuse vec_i
229229
mov dest1, [dest1]
230230

231+
cmp len, 64
232+
jl .len_lt_64
231233
.loop64:
232234
ENCODE_64B_6
233235

erasure_code/gf_vect_mad_avx512_gfni.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ func(gf_vect_mad_avx512_gfni)
144144

145145
vbroadcastf32x2 xgft1, [vec_i + mul_array]
146146

147+
cmp len, 64
148+
jl .len_lt_64
147149
.loop64:
148150
ENCODE_64B
149151

0 commit comments

Comments
 (0)