ในส่วนแกนกลาง Linux พบข้อผิดพลาดที่ทำให้โปรแกรมบางโปรแกรมที่ใช้ AVX ทำงานผิดปกติ

ในส่วนแกนกลาง Linuxเริ่มตั้งแต่เวอร์ชัน 5.2 เป็นต้นไป ปรากฏขึ้น ข้อผิดพลาดที่ทำให้เนื้อหาของการลงทะเบียน AVX ถูกละเมิดเมื่อส่งคืนจากตัวจัดการสัญญาณที่ได้รับการจัดการเมื่อมีการส่งข้อยกเว้น (page-fault) ปัญหาเกิดขึ้นเมื่อรันโปรแกรมแบบมัลติเธรด ("-pthread") ที่เกี่ยวข้องกับการคำนวณด้วยการลงทะเบียน AVX หากเคอร์เนลถูกสร้างขึ้นใน GCC 9 (หากสร้างใน GCC รุ่นก่อนหน้า ข้อผิดพลาดจะไม่ปรากฏขึ้น เนื่องจากแคช GCC 9 ที่อยู่ของตัวแปร thread-local ในรีจิสเตอร์ และ GCC เวอร์ชันก่อนหน้าจะโหลดทุกครั้ง)

ปัญหาทำให้โปรแกรมยุติการทำงานก่อนเวลาอันควรโดยมีข้อผิดพลาดเกี่ยวกับความเสียหายของหน่วยความจำ การแสดงข้อผิดพลาดที่เห็นได้ชัดเจนที่สุดและสังเกตได้บ่อยที่สุด ได้กลายเป็น ขัดข้อง การใช้งานเขียนด้วยภาษาโก เนื่องจากปัญหาที่ระบุไว้ โปรแกรม Go จะยุติการทำงานก่อนกำหนด โดยปกติจะมีข้อผิดพลาด “ข้อผิดพลาดรันไทม์: ที่อยู่หน่วยความจำไม่ถูกต้องหรือข้อผิดพลาดไม่มีตัวชี้”, “รันไทม์: คืนพีซีที่ไม่คาดคิด” และ “การละเมิดการแบ่งส่วน” จุดบกพร่องในเคอร์เนลยังคงไม่ได้รับการแก้ไขในขณะนี้ ความเป็นไปได้อยู่ระหว่างการพิจารณา เพิ่มการเปลี่ยนแปลงลงในรันไทม์ของภาษา Go เพื่อแก้ไขข้อบกพร่องในเคอร์เนลที่มีปัญหาอย่างเลือกสรร Linuxโดยมีค่าใช้จ่ายส่วนเกินเพิ่มเติม

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster