A Grsecurity projekt fejlesztői
A javítás tesztelése során a fejlesztők észrevették, hogy építéskor a fordító figyelmeztetést jelenít meg a kód és a definíciók keveredésére (a struktúra a kód után lett definiálva, értéket rendelve egy meglévő változóhoz):
int index = n;
if (n < HBP_NUM) { index = array_index_nospec(index, HBP_NUM); struct perf_event *bp = szál->ptrace_bps[index];
Linus elfogadta
if (n < HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = szál->ptrace_bps[index];
Júliusban a javítás a stabil kernel 4.4-es, 4.9-es, 4.14-es, 4.19-es és 5.2-es ágaira is átkerült. A stabil ágak fenntartói is találkoztak a figyelmeztetéssel, és ahelyett, hogy ellenőrizték volna, hogy a Linus master ágában már kijavították-e, inkább maguk végeztek javítást. A probléma az, hogy anélkül, hogy komolyan gondolnák, egyszerűen csak
int index = n;
if (n < HBP_NUM ){ struct perf_event *bp = szál->ptrace_bps[index];
index = array_index_nospec(index, HBP_NUM);
Forrás: opennet.ru