Utvecklare av Grsecurity-projektet
I processen med att testa patchen märkte utvecklarna att när kompilatorn byggde, visar kompilatorn en varning om att blanda kod och definitioner (strukturen definierades efter koden med att tilldela ett värde till en befintlig variabel):
int index = n;
if (n < HBP_NUM) { index = array_index_nospec(index, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
Linus tackade ja
if (n < HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
I juli portades korrigeringen även till de stabila kärngrenarna 4.4, 4.9, 4.14, 4.19 och 5.2. Stallhållarna stötte också på varningen, och istället för att kolla om den redan var fixad i Linus mastergren, lappade de själva. Problemet är att de, utan mycket eftertanke, bara
int index = n;
if (n < HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[index];
index = array_index_nospec(index, HBP_NUM);
Källa: opennet.ru