Desenvolupadors del projecte Grsecurity
Durant la prova del pedaç, els desenvolupadors es van adonar que en construir, el compilador mostra un avís sobre la barreja de codi i definicions (l'estructura es va definir després del codi, assignant un valor a una variable existent):
int índex = n;
if (n < HBP_NUM) { index = array_index_nospec (índex, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[índex];
Linus va acceptar
if (n < HBP_NUM) { int índex = array_index_nospec (n, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[índex];
Al juliol, la correcció també es va portar a les branques estables del nucli 4.4, 4.9, 4.14, 4.19 i 5.2. Els mantenedors de les branques estables també es van trobar amb l'avís i, en comptes de comprovar si ja s'havia arreglat a la branca mestra de Linus, van fer una solució ells mateixos. El problema és que sense pensar-s'ho realment, simplement
int índex = n;
if (n < HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[índex];
índex = array_index_nospec (índex, HBP_NUM);
Font: opennet.ru