Linus Torvalds เปิดตัวการเปิดตัว เวอร์ชันใหม่ของเคอร์เนล Linux 5.8 และในงวดใหม่นี้ ท่ามกลางการเปลี่ยนแปลงที่โดดเด่นที่สุด พวกเขาคือ เครื่องตรวจจับสภาพการแข่งขันของ KCSANกลไกสากลในการส่งการแจ้งเตือนไปยังพื้นที่ผู้ใช้ การสนับสนุนฮาร์ดแวร์สำหรับการเข้ารหัสออนไลน์ กลไกการป้องกันขั้นสูงสำหรับ ARM64 รองรับโปรเซสเซอร์ Russian Baikal-T1, ความสามารถในการเมานต์อินสแตนซ์ของกระบวนการแยกกันการใช้กลไกการป้องกันเงาสำหรับ ARM64 Call Stack และ BTI
รุ่นใหม่นี้ เคอร์เนล กลายเป็นสิ่งที่ใหญ่ที่สุดในแง่ของปริมาณการเปลี่ยนแปลง ของนิวเคลียสทั้งหมดตลอดอายุของโครงการ ในขณะเดียวกันการเปลี่ยนแปลงจะไม่เกี่ยวข้องกับระบบย่อยใด ๆ แต่ครอบคลุมส่วนต่างๆของเคอร์เนลและส่วนใหญ่เกี่ยวข้องกับการประมวลผลและการทำความสะอาดภายใน
ข่าวหลักใน Linux 5.8
ใน Linux Kernel 5.8 เวอร์ชันใหม่นี้ การล็อคมีไว้สำหรับการโหลดโมดูลเคอร์เนลที่มีส่วนที่มีรหัส ซึ่งบิตที่อนุญาตให้ดำเนินการและเขียนถูกตั้งค่าพร้อมกัน
ตอนนี้ เป็นไปได้ที่จะสร้างอินสแตนซ์กระบวนการแยกกัน อนุญาตให้มีจุดเชื่อมต่อกระบวนการหลายจุดติดตั้งด้วยตัวเลือกที่แตกต่างกัน แต่สะท้อนถึงเนมสเปซ pid เดียวกัน
สำหรับแพลตฟอร์ม ARM64 รองรับกลไก Shadow-Call Stackซึ่งจัดทำโดยคอมไพเลอร์ Clang เพื่อป้องกันการเขียนทับที่อยู่ส่งคืนของฟังก์ชันในกรณีที่บัฟเฟอร์ล้นบนสแต็ก
นอกเหนือจากนั้น นอกจากนี้ยังเพิ่มการสนับสนุนคำสั่ง ARMv8.5-BTI (Branch Target Indicator) เพื่อป้องกันการดำเนินการของชุดคำสั่งที่ไม่ควรแตกแขนง
เพิ่มการรองรับฮาร์ดแวร์สำหรับการเข้ารหัสออนไลน์ของอุปกรณ์บล็อกโดยทั่วไปอุปกรณ์เข้ารหัสแบบอินไลน์ที่ติดตั้งไว้ในไดรฟ์สามารถวางได้อย่างมีเหตุผลระหว่างหน่วยความจำระบบและดิสก์ทำการเข้ารหัสและถอดรหัสแบบโปร่งใสตามคีย์และอัลกอริธึมการเข้ารหัสที่ระบุโดยเคอร์เนล
นอกจากนี้ในเวอร์ชันใหม่นี้ มีคำแนะนำเกี่ยวกับการใช้คำศัพท์ที่ครอบคลุม ที่นำมาใช้ในเอกสารที่กำหนดกฎสำหรับการเข้ารหัส
นอกจากนี้ยัง เครื่องมือดีบัก KCSAN ใหม่เน้น (Kernel Concurrency Sanitizer) ซึ่งออกแบบมาเพื่อระบุสภาวะการแข่งขันภายในเคอร์เนลแบบไดนามิก จุดเน้นหลักในการพัฒนา KCSAN คือการป้องกันผลบวกที่ผิดพลาดความสามารถในการปรับขนาดและความสะดวกในการใช้งาน
การเปลี่ยนแปลงที่สำคัญอีกประการหนึ่งก็คือe ได้เพิ่มไดรเวอร์ dm-ebs ใหม่ลงใน Device Mapper ซึ่งสามารถใช้เพื่อจำลองขนาดบล็อกตรรกะที่เล็กลง (ตัวอย่างเช่นเพื่อจำลองเซกเตอร์ 512 ไบต์บนไดรฟ์ที่มีขนาดเซกเตอร์ 4K)
Btrfs ได้ปรับปรุงการจัดการการดำเนินการอ่านในโหมดโดยตรง. ในการติดตั้งการตรวจสอบไดเร็กทอรีและคีย์ย่อยที่ถูกลบอย่างรวดเร็วจะถูกทิ้งไว้โดยไม่มีผู้ปกครอง
Ext4 ได้ปรับปรุงการจัดการข้อผิดพลาด ENOSPC เมื่อใช้มัลติเธรด Xattr เพิ่มการรองรับ gnu * Namespace ใช้โดย GNU Hurd
ไปยัง Ext4 และ XFS การสนับสนุนสำหรับการดำเนินการ DAX รวมอยู่ด้วย (เข้าถึงระบบไฟล์โดยตรงโดยไม่ต้องผ่านแคชของเพจโดยไม่ต้องใช้ระดับอุปกรณ์ล็อค) โดยสัมพันธ์กับไฟล์และไดเร็กทอรีแต่ละไฟล์
นอกจากนี้ยังเพิ่มการสนับสนุนให้กับเคอร์เนลและยูทิลิตี้ ethtool เพื่อทดสอบสายเคเบิลเครือข่ายที่เชื่อมต่อและการวินิจฉัยอุปกรณ์เครือข่ายด้วยตนเอง
ในขณะที่ สำหรับสแต็ก IPv6 เพิ่มการรองรับอัลกอริทึม MPLS (Multiprotocol Label Switching) เพื่อกำหนดเส้นทางแพ็กเก็ตโดยใช้การสลับฉลากหลายโปรโตคอล (สำหรับ IPv4 รองรับ MPLS ก่อนหน้านี้)
ในที่สุด สำหรับฮาร์ดแวร์ในเวอร์ชันใหม่นี้เราจะพบว่า:
- ไดรเวอร์ DRM สำหรับการ์ดแสดงผล Intel i915 ถูกเปิดใช้งานโดยค่าเริ่มต้น
- รองรับชิป Intel Tiger Lake (GEN12)
- ไดรเวอร์ amdgpu เพิ่มการรองรับรูปแบบพิกเซล FP16 และใช้ความสามารถในการทำงานกับบัฟเฟอร์ที่เข้ารหัสในหน่วยความจำวิดีโอ
- รองรับเซ็นเซอร์พลังงานโปรเซสเซอร์ AMD Zen และ Zen2 และเซ็นเซอร์อุณหภูมิ AMD Ryzen 4000 Renoir
- เพิ่มการรองรับรูปแบบตัวปรับแต่ง NVIDIA ให้กับไดรเวอร์ Nouveau
- ไดรเวอร์ MSM (Qualcomm) เพิ่มการรองรับสำหรับ Adreno A405, A640 และ A650 GPUs
- เพิ่มกรอบงานภายในสำหรับจัดการทรัพยากร DRM (Direct Rendering Manager)
- เพิ่มการรองรับสมาร์ทโฟน Xiaomi Redmi Note 7 และ Samsung Galaxy S2 รวมถึง Chromebook ของ Elm / Hana
- ไดรเวอร์เพิ่มเติมสำหรับแผง LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0
- เพิ่มการรองรับบอร์ด ARM และแพลตฟอร์ม Renesas "RZ / G1H", Realtek
- เพิ่มการสนับสนุนสำหรับโปรเซสเซอร์ MIPS Loongson-2K