Versi Kernel 5.19 yang baru telah dirilis , dan di antara perubahan paling penting dalam versi baru ini adalah dukungan untuk arsitektur prosesor LoongArch , integrasi patch "BIG TCP", mode "on-demand" di fscache, penghapusan kode untuk mendukung format a.out, kemampuan untuk menggunakan ZSTD untuk mengompresi firmware, antarmuka untuk mengelola perpindahan memori dari ruang pengguna, peningkatan keandalan dan kinerja generator angka pseudorandom, dukungan untuk ekstensi Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions), dan ARM SME (Scalable Matrix Extension).
Versi baru ini menerima 16401 perbaikan dari 2190 pengembang (versi sebelumnya memiliki 16206 perbaikan dari 2127 pengembang), ukuran patch: 90 MB (perubahan memengaruhi 13847 file, 1149456 baris kode ditambahkan, 349177 baris dihapus).
Berita utama kernel 5.19
Di antara perubahan paling penting dalam versi baru ini, dapat disebutkan bahwa saat mengkompilasi dengan Clang 15, mekanisme pengacakan struktur kernel didukung .
Mekanisme Landlock , yang memungkinkan pembatasan interaksi sekelompok proses dengan lingkungan eksternal, telah dilengkapi dengan dukungan untuk aturan yang memungkinkan pengendalian eksekusi operasi penggantian nama file.
Subsistem IMA (Integrity Measurement Architecture), yang dirancang untuk memeriksa integritas komponen sistem operasi menggunakan tanda tangan digital dan hash, telah diubah untuk menggunakan modul fs-verity untuk verifikasi file.
Logika di balik tindakan dimodifikasi dengan menonaktifkan akses tanpa hak istimewa ke subsistem eBPF . Sebelumnya, semua perintah yang terkait dengan panggilan sistem bpf() dinonaktifkan, dan mulai versi 5.19, akses hanya dipertahankan untuk perintah yang tidak mengarah pada pembuatan objek. Dengan perilaku ini, proses dengan hak istimewa diperlukan untuk memuat program BPF, tetapi proses tanpa hak istimewa dapat berinteraksi dengannya.
Dukungan telah ditambahkan untuk mencadangkan koneksi MPTCP (MultiPath TCP) ke TCP biasa dalam situasi di mana fitur MPTCP tertentu tidak dapat digunakan. MPTCP adalah perluasan dari protokol TCP yang mengatur operasi koneksi TCP dengan mengirimkan paket secara bersamaan melalui beberapa jalur melalui antarmuka jaringan yang berbeda yang terhubung ke alamat IP yang berbeda. Sebuah API telah ditambahkan untuk mengelola transmisi MPTCP dari ruang pengguna.
Perlu juga dicatat bahwa lebih dari 420.000 baris kode terkait driver amdgpu telah ditambahkan , di mana sekitar 400.000 baris merupakan file header yang dihasilkan secara otomatis yang berisi data untuk register ASIC dalam driver GPU AMD, dan 22.500 baris lainnya menyediakan implementasi awal dukungan AMD SoC21. Ukuran total driver untuk GPU AMD telah melampaui 4 juta baris kode. Selain SoC21, driver AMD mencakup dukungan untuk SMU 13.x (System Management Unit), dukungan yang diperbarui untuk USB-C dan GPUVM, dan siap mendukung platform RDNA3 (RX 7000) dan CDNA (AMD Instinct) generasi berikutnya.
Pengontrol i915 (Intel) memiliki kemampuan manajemen daya yang lebih baik, selain menambahkan ID untuk GPU Intel DG2 (Arc Alchemist) yang digunakan di laptop, memberikan dukungan awal untuk platform Intel Raptor Lake-P (RPL-P), menambahkan informasi tentang kartu grafis Arctic Sound-M, mengimplementasikan ABI untuk mesin komputasi, menambahkan dukungan untuk kartu format Tile4 untuk kartu DG2, dan dukungan DisplayPort HDR untuk sistem berbasis mikroarsitektur Haswell.
Driver Nouveau telah beralih menggunakan driver drm_gem_plane_helper_prepare_fb , dan beberapa struktur serta variabel telah ditetapkan secara statis. Mengenai penggunaan kode sumber modul kernel di Nouveau, yang telah dibuat open source oleh NVIDIA, pekerjaan sejauh ini berfokus pada identifikasi dan penghapusan bug. Rencana ke depan termasuk menggunakan firmware yang telah dipublikasikan untuk meningkatkan kinerja driver.
Telah dikembangkan kemampuan untuk mengatasi deteksi penguncian terpisah (split lock ), yang terjadi saat mengakses data yang tidak sejajar di memori. Hal ini terjadi karena, selama eksekusi instruksi atomik, data melintasi dua baris cache CPU yang diperluas. Penguncian semacam itu menyebabkan penurunan kinerja yang signifikan. Sebelumnya, kernel mengeluarkan peringatan secara default dengan informasi tentang proses yang menyebabkan penguncian; sekarang, proses yang bermasalah akan diperlambat lebih lanjut untuk menjaga kinerja sistem lainnya.
Dukungan telah ditambahkan untuk mekanisme IFS (In-Field Scan) yang diimplementasikan pada prosesor Intel, yang memungkinkan menjalankan pengujian diagnostik CPU tingkat rendah yang dapat mendeteksi masalah yang tidak terdeteksi oleh cara biasa berdasarkan kode koreksi kesalahan (ECC) atau bit paritas.
Perubahan penting lainnya dalam versi baru ini meliputi:
- Menambahkan driver untuk pengontrol NVMe yang digunakan di komputer Apple berdasarkan chip M1.
- menambahkan dukungan awal untuk arsitektur set instruksi LoongArch yang digunakan dalam prosesor Loongson 3 5000, yang mengimplementasikan RISC ISA baru yang serupa dengan MIPS dan RISC-V.
- Arsitektur LoongArch tersedia dalam tiga versi: 32-bit disederhanakan (LA32R), 32-bit normal (LA32S), dan 64-bit (LA64).
- Menambahkan kemampuan untuk menyematkan file bootconfig di kernel.
- 'CONFIG_BOOT_CONFIG_EMBED_FILE="/PATH/TO/BOOTCONFIG/FILE"'.
- Menghapus dukungan untuk opsi boot khusus x86: nosp, nosmap, nosmep, noexec, dan noclflush).
- Dukungan untuk arsitektur CPU usang h8300 (Renesas H8/300), yang sudah lama tidak dipertahankan, telah dihentikan.
Terakhir, jika Anda tertarik untuk mempelajari lebih lanjut tentang versi baru ini, Anda dapat menemukan detailnya di tautan berikut.