Pengembang proyek Grsecurity
Saat menguji patch, pengembang memperhatikan bahwa saat membuat, kompiler menampilkan peringatan tentang pencampuran kode dan definisi (struktur ditentukan setelah kode, memberikan nilai ke variabel yang ada):
int indeks = n;
jika (n < HBP_NUM) { indeks = array_index_nospec(indeks, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
Linus menerimanya
jika (n < HBP_NUM) { int indeks = array_index_nospec(n, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
Pada bulan Juli, perbaikan juga di-porting ke cabang kernel stabil 4.4, 4.9, 4.14, 4.19 dan 5.2. Pengelola cabang stabil juga menemukan peringatan tersebut dan, alih-alih memeriksa apakah peringatan tersebut sudah diperbaiki di cabang master Linus, mereka malah memperbaikinya sendiri. Masalahnya adalah tanpa benar-benar memikirkannya, mereka hanya melakukannya
int indeks = n;
jika (n < HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[index];
indeks = array_index_nospec(indeks, HBP_NUM);
Sumber: opennet.ru