ผู้พัฒนาโครงการ Grsecurity
ในขณะที่ทดสอบแพตช์ นักพัฒนาสังเกตเห็นว่าเมื่อสร้าง คอมไพลเลอร์จะแสดงคำเตือนเกี่ยวกับการผสมโค้ดและคำจำกัดความ (โครงสร้างถูกกำหนดไว้หลังโค้ด โดยกำหนดค่าให้กับตัวแปรที่มีอยู่):
ดัชนี int = n;
ถ้า (n <HBP_NUM) { ดัชนี = array_index_nospec (ดัชนี, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
ไลนัสยอมรับ
ถ้า (n < HBP_NUM) { ดัชนี int = array_index_nospec (n, HBP_NUM); struct perf_event *bp = thread->ptrace_bps[index];
ในเดือนกรกฎาคม การแก้ไขยังถูกย้ายไปยังสาขาเคอร์เนลที่เสถียร 4.4, 4.9, 4.14, 4.19 และ 5.2 ผู้ดูแลสาขาที่มั่นคงก็ประสบกับคำเตือนเช่นกัน และแทนที่จะตรวจสอบเพื่อดูว่าได้รับการแก้ไขในสาขาหลักของ Linus แล้ว พวกเขากลับทำการแก้ไขด้วยตนเอง ปัญหาก็คือว่าโดยไม่ได้คิดถึงเรื่องนี้จริงๆ พวกเขาก็แค่
ดัชนี int = n;
ถ้า (n < HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[index];
ดัชนี = array_index_nospec (ดัชนี, HBP_NUM);
ที่มา: opennet.ru