Kernel 5.19 ra mắt với những cải tiến về quy trình, hỗ trợ phần cứng, bảo mật và hơn thế nữa

Phiên bản Kernel 5.19 mới đã được phát hành , và trong số những thay đổi đáng chú ý nhất ở phiên bản này là hỗ trợ kiến ​​trúc bộ xử lý LoongArch , tích hợp các bản vá "BIG TCP", chế độ "theo yêu cầu" trong fscache, loại bỏ mã hỗ trợ định dạng a.out, khả năng sử dụng ZSTD để nén firmware, giao diện quản lý việc dịch chuyển bộ nhớ từ không gian người dùng, cải thiện độ tin cậy và hiệu suất của bộ tạo số giả ngẫu nhiên, hỗ trợ các phần mở rộng Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) và ARM SME (Scalable Matrix Extension).

Phiên bản mới đã chấp nhận 16401 bản sửa lỗi từ 2190 nhà phát triển (phiên bản trước có 16206 bản sửa lỗi từ 2127 nhà phát triển), kích thước bản vá: 90 MB (các thay đổi ảnh hưởng đến 13847 tệp, 1149456 dòng mã đã được thêm vào, 349177 dòng đã bị xóa).

Tin tức chính về kernel 5.19

Trong số những thay đổi đáng chú ý nhất ở phiên bản mới này, chúng ta có thể kể đến việc khi biên dịch bằng Clang 15, cơ chế ngẫu nhiên hóa cấu trúc kernel được hỗ trợ .

Cơ chế Landlock , cho phép hạn chế sự tương tác của một nhóm tiến trình với môi trường bên ngoài, đã được bổ sung hỗ trợ cho các quy tắc cho phép kiểm soát việc thực thi các thao tác đổi tên tập tin.

Hệ thống con IMA (Kiến trúc Đo lường Tính toàn vẹn), được thiết kế để kiểm tra tính toàn vẹn của các thành phần hệ điều hành bằng cách sử dụng chữ ký số và hàm băm, đã được thay đổi để sử dụng mô-đun fs-verity để xác minh tập tin.

Logic đằng sau các hành động đã được sửa đổi bằng cách vô hiệu hóa quyền truy cập không có đặc quyền vào hệ thống con eBPF . Trước đây, tất cả các lệnh liên quan đến lệnh gọi hệ thống bpf() đều bị vô hiệu hóa, và bắt đầu từ phiên bản 5.19, quyền truy cập chỉ được giữ lại cho các lệnh không dẫn đến việc tạo đối tượng. Với hành vi này, cần có một tiến trình có đặc quyền để tải chương trình BPF, nhưng các tiến trình không có đặc quyền vẫn có thể tương tác với nó.

Đã bổ sung hỗ trợ sao lưu các kết nối MPTCP (MultiPath TCP) sang TCP thông thường trong trường hợp không thể sử dụng một số tính năng MPTCP nhất định. MPTCP là một phần mở rộng của giao thức TCP, tổ chức hoạt động của kết nối TCP bằng cách truyền các gói dữ liệu đồng thời dọc theo nhiều đường dẫn thông qua các giao diện mạng khác nhau được liên kết với các địa chỉ IP khác nhau. Một API đã được thêm vào để quản lý việc truyền tải MPTCP từ không gian người dùng.

Cũng cần lưu ý rằng, hơn 420.000 dòng mã liên quan đến trình điều khiển amdgpu đã được thêm vào , trong đó khoảng 400.000 dòng là các tệp tiêu đề được tạo tự động chứa dữ liệu cho các thanh ghi ASIC trong trình điều khiển GPU của AMD, và 22.500 dòng khác cung cấp việc triển khai ban đầu hỗ trợ AMD SoC21. Tổng kích thước của trình điều khiển cho GPU của AMD đã vượt quá 4 triệu dòng mã. Ngoài SoC21, trình điều khiển AMD còn bao gồm hỗ trợ cho SMU 13.x (Bộ quản lý hệ thống), hỗ trợ được cập nhật cho USB-C và GPUVM, và sẵn sàng hỗ trợ các nền tảng thế hệ tiếp theo RDNA3 (RX 7000) và CDNA (AMD Instinct).

Bộ điều khiển i915 (Intel) có khả năng quản lý nguồn điện được cải thiện, ngoài ra còn bổ sung ID cho GPU Intel DG2 (Arc Alchemist) được sử dụng trong máy tính xách tay, cung cấp hỗ trợ ban đầu cho nền tảng Intel Raptor Lake-P (RPL-P), bổ sung thông tin về card đồ họa Arctic Sound-M, triển khai ABI cho các công cụ tính toán, bổ sung hỗ trợ cho các card định dạng Tile4 cho card DG2 và hỗ trợ DisplayPort HDR cho các hệ thống dựa trên kiến ​​trúc vi xử lý Haswell.

Trình điều khiển Nouveau đã chuyển sang sử dụng trình điều khiển drm_gem_plane_helper_prepare_fb , và một số cấu trúc và biến đã được gán tĩnh. Về việc sử dụng mã nguồn mô-đun kernel trong Nouveau, mà NVIDIA đã công khai, công việc cho đến nay tập trung vào việc xác định và loại bỏ lỗi. Kế hoạch trong tương lai bao gồm sử dụng firmware đã được công bố để cải thiện hiệu suất trình điều khiển.

Các khả năng đã được phát triển để giải quyết vấn đề phát hiện khóa phân tách , xảy ra khi truy cập dữ liệu không được căn chỉnh trong bộ nhớ. Điều này xảy ra vì, trong quá trình thực thi một lệnh nguyên tử, dữ liệu vượt qua hai dòng của bộ nhớ cache CPU mở rộng. Các khóa như vậy dẫn đến sự suy giảm hiệu năng đáng kể. Trước đây, nhân hệ điều hành mặc định đưa ra cảnh báo kèm thông tin về tiến trình gây ra khóa; giờ đây, tiến trình gây ra sự cố sẽ bị làm chậm hơn nữa để bảo toàn hiệu năng của phần còn lại của hệ thống.

Đã bổ sung hỗ trợ cho cơ chế IFS (In-Field Scan) được triển khai trong bộ xử lý Intel, cho phép chạy các bài kiểm tra chẩn đoán CPU cấp thấp có thể phát hiện các sự cố mà các phương pháp thông thường dựa trên mã sửa lỗi (ECC) hoặc bit chẵn lẻ không phát hiện được.

Những thay đổi đáng chú ý khác trong phiên bản mới này bao gồm:

  • Đã thêm trình điều khiển cho bộ điều khiển NVMe được sử dụng trong máy tính Apple dựa trên chip M1.
  • bổ sung hỗ trợ ban đầu cho kiến ​​trúc tập lệnh LoongArch được sử dụng trong bộ xử lý Loongson 3 5000, triển khai một RISC ISA mới tương tự như MIPS và RISC-V.
  • Kiến trúc LoongArch có sẵn trong ba phiên bản: đơn giản hóa 32 bit (LA32R), 32 bit bình thường (LA32S) và 64 bit (LA64).
  • Đã thêm khả năng nhúng tệp bootconfig vào hạt nhân.
  • 'CONFIG_BOOT_CONFIG_EMBED_FILE = ”/ PATH / TO / BOOTCONFIG / FILE”.
  • Đã xóa hỗ trợ cho các tùy chọn khởi động cụ thể x86: nosp, nosmap, nosmep, noexec và noclflush).
  • Hỗ trợ cho kiến ​​trúc CPU lỗi thời h8300 (Renesas H8 / 300), đã không được duy trì trong một thời gian dài, đã ngừng hoạt động.

Cuối cùng, nếu bạn muốn tìm hiểu thêm về phiên bản mới này, bạn có thể xem chi tiết tại liên kết sau.


Thêm vào danh sách nguồn ưu tiên trên Google.