توسعه دهندگان پروژه Grsecurity
در فرآیند آزمایش پچ، توسعه دهندگان متوجه شدند که هنگام ساختن، کامپایلر هشداری در مورد ترکیب کد و تعاریف نمایش می دهد (ساختار پس از کد با اختصاص یک مقدار به یک متغیر موجود تعریف شده است):
int index = n;
if (n < HBP_NUM) { index = array_index_nospec(index, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
لینوس قبول کرد
if (n < HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
در ماه جولای، اصلاح به شاخههای هسته پایدار 4.4، 4.9، 4.14، 4.19 و 5.2 نیز منتقل شد. نگهدارنده های پایدار نیز با این هشدار مواجه شدند و به جای اینکه بررسی کنند که آیا قبلاً در شاخه اصلی لینوس ثابت شده است یا خیر، خودشان آن را وصله کردند. مشکل این است که آنها، بدون فکر زیاد، فقط
int index = n;
if (n < HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[index];
index = array_index_nospec(index, HBP_NUM);
منبع: opennet.ru