Linux 5.11 nüvə buraxılışı

İki aylıq inkişafdan sonra Linus Torvalds Linux nüvəsi 5.11-in buraxılışını təqdim etdi. Ən diqqətəlayiq dəyişikliklər arasında: Intel SGX anklavları üçün dəstək, sistem zənglərinin qarşısının alınması üçün yeni mexanizm, virtual köməkçi avtobus, MODULE_LICENSE(siz) modulların yığılmasına qadağa, seccomp-da sistem zəngləri üçün sürətli filtrləmə rejimi, dəstəyin dayandırılması. ia64 arxitekturası, WiMAX texnologiyasının “staging” filialına ötürülməsi, SCTP-ni UDP-də əhatə etmək imkanı.

Yeni versiyaya 15480 tərtibatçıdan 1991 72 düzəliş daxildir, yamaq ölçüsü 12090 MB təşkil edir (dəyişikliklər 868025 261456 fayla təsir edib, 46 5.11 kod sətri əlavə edilib, 16 13 sətir silinib). 3-də təqdim edilən bütün dəyişikliklərin təxminən 4%-i qurğu drayverləri ilə, dəyişikliklərin təxminən XNUMX%-i hardware arxitekturasına xas kodun yenilənməsi, XNUMX%-i şəbəkə yığını, XNUMX%-i fayl sistemləri və XNUMX%-i ilə bağlıdır. daxili nüvə alt sistemləri ilə bağlıdır.

Əsas yeniliklər:

  • Disk alt sistemi, giriş/çıxış və fayl sistemləri
    • Zədələnmiş fayl sistemindən məlumatların bərpası zamanı istifadə etmək üçün Btrfs-ə bir neçə montaj variantı əlavə edilmişdir: bəzi kök ağaclarının zədələnməsinə baxmayaraq (dərəcə, uuid, data reloc, cihaz, csum, boş yer), “quraşdırma üçün “rescue=ignorebadroots” rescue=ignoredatacsums” məlumat üçün yoxlama məbləğinin yoxlanılmasını söndürmək üçün və “rescue=all” eyni zamanda “ignorebadroots”, “ignoredatacsums” və “nologreplay” rejimlərini aktivləşdirmək üçün. Əvvəllər köhnəlmiş "inode_cache" quraşdırma seçimi dayandırıldı. Kod səhifə ölçüsündən (PAGE_SIZE) kiçik olan metadata və verilənlərə malik bloklar üçün dəstəyi, həmçinin zonalı yer ayırma rejimini dəstəkləmək üçün hazırlanmışdır. Bufersiz (Birbaşa IO) sorğuları iomap infrastrukturuna köçürüldü. Bir sıra əməliyyatların performansı optimallaşdırılıb, bəzi hallarda sürətlənmə onlarla faizə çata bilər.
    • XFS təmirə ehtiyac olduğunu bildirən "repair ehtiyacı" bayrağını tətbiq edir. Bu bayraq qoyulduqda, bayraq xfs_repair yardım proqramı tərəfindən sıfırlanana qədər fayl sistemi quraşdırıla bilməz.
    • Ex4 yalnız səhv düzəlişləri və optimallaşdırmaları, həmçinin kodun təmizlənməsini təklif edir.
    • NFS üzərində quraşdırılmış fayl sistemlərinin təkrar ixracına icazə verilir (yəni NFS vasitəsilə quraşdırılmış bölmə indi NFS vasitəsilə ixrac edilə və aralıq keş kimi istifadə edilə bilər).
    • Prosesə bir anda bütün açıq fayl deskriptorlarını bağlamağa imkan verən close_range() sistem çağırışı, deskriptorları yaxın rejimdə bağlamaq üçün CLOSE_RANGE_CLOEXEC seçimini əlavə etdi.
    • F2FS fayl sistemi, hansı faylların sıxılmış formada saxlandığına istifadəçi məkanına nəzarət etmək üçün yeni ioctl() zəngləri əlavə edir. Sıxılma işləyicisini nüvə tərəfində və ya istifadəçi məkanında yerləşdirməyi seçmək üçün "compress_mode=" quraşdırma seçimi əlavə edildi.
    • Ayrı bir istifadəçi ad sahəsini istifadə edərək, imtiyazsız proseslərlə Overlayf-ləri quraşdırmaq imkanı təmin edildi. Təhlükəsizlik modelinin tətbiqinə uyğunluğu yoxlamaq üçün tam kod auditi aparıldı. Overlayfs, həmçinin UUID yoxlamasını isteğe bağlı olaraq söndürməklə fayl sistemi şəkillərinin surətlərindən istifadə etməklə işləmək imkanı əlavə edir.
    • Ceph fayl sistemi məlumatların şifrələnmiş formada ötürülməsi zamanı AES-GCM alqoritmindən istifadə etməyə imkan verən msgr2.1 protokolu üçün dəstək əlavə edib.
    • dm-multipath modulu I/O sorğuları üçün marşrut seçərkən CPU yaxınlığını (“IO yaxınlığı”) nəzərə almaq qabiliyyətini həyata keçirir.
  • Yaddaş və sistem xidmətləri
    • prctl() əsasında yeni sistem zənglərinin qarşısının alınması mexanizmi əlavə edilmişdir ki, bu da xüsusi sistem çağırışına daxil olduqda istifadəçi məkanından istisnalar yaratmağa və onun icrasını təqlid etməyə imkan verir. Bu funksionallıq Wine və Proton-da Windows sistem zənglərini təqlid etmək üçün tələb olunur ki, bu da Windows API-dən yan keçərək sistem zənglərini birbaşa yerinə yetirən oyunlar və proqramlarla uyğunluğu təmin etmək üçün lazımdır (məsələn, icazəsiz istifadədən qorunmaq üçün).
    • İstifadəçi məkanında səhifə xətalarını (bölünməmiş yaddaş səhifələrinə çıxış) idarə etmək üçün nəzərdə tutulmuş userfaultfd() sistem çağırışı indi müəyyən boşluqlardan istifadəni çətinləşdirmək üçün kernel səviyyəsində baş verən istisnaların idarə edilməsini söndürmək imkanına malikdir.
    • BPF alt sistemi, müəyyən bir BPF işləyicisinə məlumatların bağlanmasını təmin edən tapşırıq-yerli yaddaş üçün əlavə dəstəyi əlavə etdi.
    • BPF proqramları tərəfindən yaddaş istehlakının uçotu tamamilə yenidən işlənmişdir - BPF obyektlərində yaddaş istifadəsini idarə etmək üçün memlock rlimit əvəzinə qrup nəzarətçisi təklif edilmişdir.
    • BPF psevdokodunda tip yoxlama məlumatını təmin edən BTF (BPF Tip Format) mexanizmi nüvə modullarına dəstək verir.
    • io_uring asinxron I/O interfeysinə shutdown(), renameat2() və unlinkat() sistem zəngləri üçün əlavə dəstək. io_uring_enter() funksiyasına zəng edərkən, vaxt aşımını təyin etmək imkanı əlavə edildi (IORING_FEAT_EXT_ARG bayrağından istifadə edərək, vaxt aşımını təyin etmək üçün arqumentin dəstəyini yoxlaya bilərsiniz).
    • Intel Itanium prosessorlarında istifadə olunan ia64 arxitekturası yetim kateqoriyasına köçürülüb, bu da sınaqların dayandırılması deməkdir. Hewlett Packard Enterprise yeni Itanium avadanlıqları üçün sifarişləri qəbul etməyi dayandırdı və Intel bunu keçən il etdi.
    • Yaddaş idarəetmə vahidi (MMU) daxil olmayan MicroBlaze arxitekturasına əsaslanan sistemlərə dəstək dayandırıldı. Bu cür sistemlərə uzun müddətdir gündəlik həyatda rast gəlinmir.
    • MIPS arxitekturası üçün gcov yardım proqramından istifadə edərək kod əhatə dairəsi testi üçün dəstək əlavə edilmişdir.
    • Müxtəlif drayverlər tələb edən funksionallığı birləşdirən çoxfunksiyalı cihazlarla (məsələn, Ethernet və RDMA dəstəyi ilə şəbəkə kartları) qarşılıqlı əlaqə üçün virtual köməkçi avtobus üçün əlavə dəstək. MFD (Çoxfunksiyalı Cihazlar) altsistemindən istifadənin problemli olduğu vəziyyətlərdə avtobus əsas və ikinci dərəcəli sürücünü cihaza təyin etmək üçün istifadə edilə bilər.
    • RISC-V arxitekturası üçün CMA (Contiguous Memory Allocator) yaddaş ayırma sistemi üçün dəstək əlavə edilmişdir ki, bu da yaddaş səhifələrinin hərəkəti üsullarından istifadə edərək böyük bitişik yaddaş sahələrinin ayrılması üçün optimallaşdırılmışdır. RISC-V üçün alətlər həmçinin /dev/mem-ə girişi məhdudlaşdırmaq və fasilələrin işlənməsi vaxtını nəzərə almaq üçün həyata keçirilir.
    • 32-bitlik ARM sistemləri üçün yaddaşla işləyərkən səhvləri müəyyən etməyə kömək edən KASan (Kernel address sanitizer) sazlama aləti üçün dəstək əlavə edilib. 64 bitlik ARM üçün KASan tətbiqi MTE teqlərindən (MemTag) istifadə etmək üçün çevrilmişdir.
    • Nanosaniyəlik dəqiqliklə fasilələrə icazə vermək üçün epoll_pwait2() sistem çağırışı əlavə edildi (epoll_wait zəngi millisaniyələri idarə edir).
    • Quraşdırma sistemi indi MODULE_LICENSE() makrosundan istifadə edərək kod lisenziyasının müəyyən edilmədiyi yüklənə bilən kernel modullarını qurmağa cəhd edərkən xəta göstərir. Bundan sonra statik funksiyalar üçün EXPORT_SYMBOL() makrosundan istifadə də quraşdırma xətasına səbəb olacaq.
    • I/O üçün istifadə edilən yaddaşdan GEM obyektlərinin xəritələşdirilməsi üçün əlavə dəstək əlavə edildi ki, bu da bəzi arxitekturalarda çərçivə buferi ilə işi sürətləndirməyə imkan verdi.
    • Kconfig Qt4 üçün dəstəyi dayandırdı (Qt5, GTK və Ncurses üçün dəstəyi qoruyarkən).
  • Virtuallaşdırma və Təhlükəsizlik
    • Sürətli cavab rejimi üçün dəstək seccomp() sistem çağırışına əlavə edilmişdir ki, bu da işləməyi tələb etməyən prosesə əlavə edilmiş daimi fəaliyyət bitmapı əsasında müəyyən sistem çağırışına icazə verildiyini və ya qadağan edildiyini çox tez müəyyən etməyə imkan verir. BPF işləyicisi.
    • Tətbiqlərə sistemin qalan hissəsinin məhdud girişi olan yaddaşın təcrid olunmuş şifrələnmiş sahələrində kodu icra etməyə imkan verən Intel SGX (Software Guard eXtensions) texnologiyasına əsaslanan anklavların yaradılması və idarə edilməsi üçün inteqrasiya olunmuş nüvə komponentləri.
    • MSR_IA32_ENERGY_PERF_BIAS registrinə yazılan istifadəçi məkanından MSR-ə (model üçün xüsusi registr) girişin məhdudlaşdırılması təşəbbüsünün bir hissəsi olaraq, prosessorun enerji səmərəliliyi rejimini ("normal", "performans", "enerjiyə qənaət") dəyişdirməyə imkan verən MSR_IAXNUMX_ENERGY_PERF_BIAS registrinə yazın. , qadağandır.
    • CPU-lar arasında yüksək prioritet tapşırıqların miqrasiyasını söndürmək imkanı real vaxt sistemləri üçün kernel-rt filialından köçürülüb.
    • ARM64 sistemləri üçün siqnal idarəedicisi yaddaş ünvanları üçün MTE teqlərindən (MemTag, Yaddaş Tagging Extension) istifadə etmək imkanı əlavə edilmişdir. MTE-nin istifadəsi sigaction()-da SA_EXPOSE_TAGBITS seçimini təyin etməklə aktivləşdirilir və artıq boşaldılmış yaddaş bloklarına, bufer daşqınlarına, işə salınmazdan əvvəl girişlərə giriş nəticəsində yaranan zəifliklərin istismarını bloklamaq üçün göstəricilərin düzgün istifadəsini yoxlamağa imkan verir. cari kontekst.
    • "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" parametri əlavə edildi ki, bu da dm-verity altsisteminə ikinci dərəcəli açar halqada yerləşdirilən sertifikatların hesh imzalarını yoxlamağa imkan verir. Təcrübədə quraşdırma yalnız nüvəyə quraşdırılmış sertifikatları deyil, həm də əməliyyat zamanı yüklənmiş sertifikatları yoxlamağa imkan verir ki, bu da bütün nüvəni yeniləmədən sertifikatları yeniləməyə imkan verir.
    • İstifadəçi rejimində olan Linux, ətraf mühiti dondurmağa və yuxu rejimindən oyanmaq üçün SIGUSR1 siqnalından istifadə etməyə imkan verən dayandırılma rejiminə dəstək əlavə etdi.
    • Yaddaşı virtual maşınlara hot-plug və ayırmağa imkan verən virtio-mem mexanizmi, nüvə yaddaşının ölçüsündən daha böyük bloklarda yaddaşı ötürməyə və ya götürməyə imkan verən Big Block Mode (BBM) dəstəyini əlavə etdi. QEMU-da VFIO-nu optimallaşdırmaq üçün zəruri olan blok.
    • TLS nüvə tətbiqinə CHACHA20-POLY1305 şifrəsi üçün dəstək əlavə edildi.
  • Şəbəkə alt sistemi
    • 802.1Q (VLAN) üçün virtual körpüləri (Virtual Körpülü Şəbəkələr) olan şəbəkələrdə nasazlıqları müəyyən etməyə, yoxlamağa və təcrid etməyə imkan verən əlaqə nasazlığının idarə edilməsi mexanizmi (CFM, Connectivity Fault Management) tətbiq edilmişdir. Məsələn, CFM işçilərinin yalnız öz avadanlıqlarına çıxışı olan çoxsaylı müstəqil təşkilatları əhatə edən şəbəkələrdə problemləri təcrid etmək üçün istifadə edilə bilər.
    • SCTP-ni birbaşa dəstəkləməyən köhnə ünvan tərcüməçiləri olan şəbəkələrdə SCTP-dən istifadə etməyə, həmçinin IP-yə birbaşa çıxışı təmin etməyən sistemlərdə SCTP-ni tətbiq etməyə imkan verən UDP paketlərində (RFC 6951) SCTP protokol paketlərinin inkapsulyasiyası üçün əlavə dəstək. qat.
    • WiMAX texnologiyasının tətbiqi mərhələyə keçdi və WiMAX tələb edən istifadəçilər olmadıqda gələcəkdə silinməsi planlaşdırılır. WiMAX artıq ictimai şəbəkələrdə istifadə edilmir və nüvədə WiMAX-ın istifadə oluna biləcəyi yeganə sürücü köhnəlmiş Intel 2400m sürücüsüdür. 2015-ci ildə NetworkManager şəbəkə konfiquratorunda WiMAX dəstəyi dayandırıldı. Hazırda WiMax demək olar ki, tamamilə LTE, HSPA+ və Wi-Fi 802.11n kimi texnologiyalarla əvəzlənib.
    • Sıfır nüsxə rejimində daxil olan TCP trafikinin emal performansını optimallaşdırmaq üçün işlər görülmüşdür, yəni. yeni buferlərə əlavə kopyalanmadan. Onlarla və ya bir neçə yüz kilobayt məlumatı əhatə edən orta ölçülü trafik üçün recvmsg() əvəzinə sıfırdan istifadə nəzərəçarpacaq dərəcədə effektivdir. Məsələn, həyata keçirilən dəyişikliklər sıfır surətdən istifadə zamanı 32 KB mesajlarla RPC tipli trafikin işlənməsinin səmərəliliyini 60-70% artırmağa imkan verdi.
    • Çoxsaylı PPP bağlantılarını əhatə edən şəbəkə körpüləri yaratmaq üçün yeni ioctl() zəngləri əlavə edildi. Təklif olunan imkan çərçivələrin bir kanaldan digərinə, məsələn, PPPoE-dən PPPoL2TP sessiyasına keçməsinə imkan verir.
    • Müxtəlif IP ünvanları ilə əlaqəli müxtəlif şəbəkə interfeysləri vasitəsilə eyni vaxtda bir neçə marşrut üzrə paketlərin çatdırılması ilə TCP bağlantısının işini təşkil etmək üçün TCP protokolunun genişləndirilməsi olan MPTCP (MultiPath TCP) nüvəsinə inteqrasiya. Yeni buraxılış mövcud MPTCP bağlantısına yeni axınlar əlavə edərkən qoşula bilən mövcud IP ünvanlarını reklam etmək üçün ADD_ADDR seçiminə dəstək təqdim edir.
    • Bağlantı sorğusu büdcəsi keçdikdə (məşğul-polling) hərəkətləri konfiqurasiya etmək imkanı əlavə edildi. Əvvəllər mövcud olan SO_BUSY_POLL rejimi büdcə tükəndikdə softirq-ə keçməyi nəzərdə tuturdu. Sorğudan istifadə etməyə davam etməli olan proqramlar üçün yeni SO_PREFER_BUSY_POLL seçimi təklif olunur.
    • IPv6 çox istifadəçili IPv6 L4 VPN və VRF (Virtual marşrutlaşdırma və yönləndirmə) cihazlarını yaratmaq üçün istifadə edilən SRv6 End.DT4 və End.DT3 rejimləri üçün dəstəyi həyata keçirir.
    • Netfilter set ifadələrinin həyata keçirilməsini birləşdirdi ki, bu da dəst siyahılarının hər bir elementi üçün çoxlu ifadələr təyin etməyə imkan verdi.
    • API-lər SAR güc məhdudiyyətlərini, həmçinin AE PWE və HE MCS parametrlərini konfiqurasiya etmək üçün 802.11 simsiz yığına əlavə edilmişdir. Intel iwlwifi sürücüsü 6GHz (Ultra High Band) diapazonu üçün dəstək əlavə etdi. Qualcomm Ath11k drayveri bir giriş nöqtəsindən digərinə keçid zamanı rouminq gecikmələrindən xilas olmağa imkan verən FILS (Fast Initial Link Setup, IEEE 802.11ai kimi standartlaşdırılmış) texnologiyası üçün dəstəyi əlavə edib.
  • Оборудование
    • Amdgpu sürücüsü AMD "Green Sardine" APU (Ryzen 5000) və "Dimgrey Cavefish" GPU (Navi 2), həmçinin Zen 2 nüvəli və RDNA 2 GPU (Navi 2) ilə AMD Van Qoq APU üçün ilkin dəstəyi təmin edir. Yeni Renoir APU identifikatorları üçün əlavə dəstək (Zen 2 CPU və Vega GPU əsasında).
    • Intel video kartları üçün i915 drayveri itkin piksellərin rəngini müəyyən etmək üçün qonşu piksellərin vəziyyətini (Yaxın qonşu interpolyasiyası) nəzərə alaraq miqyasın artırılması üçün filtrin tətbiqi ilə IS (Integer scaling) texnologiyasını dəstəkləyir. Diskret Intel DG1 kartları üçün dəstək genişləndirildi. Ice Lake / Gen11 çiplərindən bəri mövcud olan və bir transkoderin istifadəsinə, məsələn, bir DisplayPort vasitəsilə 8K ekrana çıxış üçün iki axını emal etməyə imkan verən "Big Joiner" texnologiyasına dəstək tətbiq edilmişdir. Video yaddaşında iki bufer arasında asinxron keçid üçün rejim əlavə edildi (async flip).
    • Nouveau sürücüsü Ampere mikroarxitekturasına (GA100, GeForce RTX 30xx) əsaslanan NVIDIA GPU-lar üçün ilkin dəstəyi əlavə etdi, bu günə qədər video rejimlərini idarə etmək üçün alətlərlə məhdudlaşdı.
    • LCD panellərdə istifadə olunan 3WIRE protokolu üçün əlavə dəstək. Novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 və ABT Y030XX067A 3.0 panelləri üçün əlavə dəstək. Ayrı-ayrılıqda OnePlus 6 və 6T smartfonlarının panel dəstəyini qeyd edə bilərik ki, bu da cihazlara dəyişdirilməmiş nüvənin yüklənməsini təşkil etməyə imkan verdi.
    • Intel-in ilk diskret USB4 host nəzarətçisi Maple Ridge üçün əlavə dəstək.
    • Allwinner H6 I2S, Analoq Cihazlar ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI və XCVR, Realtek RT715 və Qualcomm SM8250 audio kodekləri üçün əlavə dəstək.
    • ARM lövhələri, cihazları və platformaları üçün əlavə dəstək: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Arm2da, N730, MStar Arm382da, ​Mikrotik Marvell Prestera 98DX3236, Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, “Trogdor” Chromebook, Kobol Helios64, Engicam PX30.Core ilə serverlər əsasında.
    • NVIDIA Tegra 3 əsasında Ouya oyun konsolu üçün quraşdırılmış dəstək.

Eyni zamanda, Latın Amerikası Azad Proqram Təminatı Fondu tamamilə pulsuz 5.11 nüvəsinin - Linux-libre 5.11-gnu versiyasını yaratdı, proqram təminatının elementlərindən və pulsuz olmayan komponentləri və ya kod bölmələrini ehtiva edən sürücülərdən təmizləndi, əhatə dairəsi məhduddur. istehsalçı tərəfindən. Yeni buraxılış qat_4xxx (kripto), lt9611uxcm (dsi/hdmi körpüsü), ccs/smia++ (sensor), ath11k_pci, nxp audio ötürücü və mhi pci nəzarətçisi üçün sürücüləri təmizləyir. Sürücülər və amdgpu, btqca, btrtl, btusb, i915 csr alt sistemlərində yenilənmiş blob təmizləmə kodu. m3 rproc, idt82p33 ptp saatı və qualcomm arm64-də yeni bloblar söndürüldü.

Mənbə: opennet.ru

Добавить комментарий