İki aylık geliştirme sürecinin ardından Linus Torvalds, çekirdeği yayınladı. Linux 6.7. En dikkat çekici değişiklikler arasında şunlar yer almaktadır: Bcachefs dosya sisteminin entegrasyonu, Itanium mimarisine desteğin sonlandırılması, GSP-R ile Nouvea bellenimiyle çalışma yeteneği, NVMe-TCP'de TLS şifreleme desteği, BPF'de istisnaların kullanılabilmesi, io_uring'de futex desteği, fq (Adil Sıralama) zamanlayıcı performansının optimizasyonu, TCP-AO (TCP Kimlik Doğrulama Seçeneği) uzantısı desteği ve Landlock koruma mekanizmasında ağ bağlantılarının sınırlandırılabilmesi, AppArmor aracılığıyla kullanıcı ad alanı ve io_uring'e erişim kontrolü eklenmesi.
Yeni sürüm, 18405 geliştiricinin 2066 düzeltmesini içeriyor, yama boyutu 72 MB (değişiklikler 13467 dosyayı etkiledi, 906147 satır kod eklendi, 341048 satır silindi). Son sürümde 15291 geliştiriciden 2058 düzeltme vardı, yama boyutu 39 MB idi. 45'de yapılan değişikliklerin yaklaşık %6.7'i aygıt sürücüleriyle, değişikliklerin yaklaşık %14'ü donanım mimarilerine özgü kodların güncellenmesiyle, %13'ü ağ yığınıyla, %5'i dosya sistemleriyle ve %3'ü dahili çekirdek alt sistemleriyle ilgilidir.
Çekirdek 6.7'teki önemli yenilikler:
- Disk Alt Sistemi, G/Ç ve Dosya Sistemleri
- Çekirdek, Btrfs ve ZFS'de bulunan gelişmiş işlevsellik öğeleriyle birlikte XFS'nin performansını, güvenilirliğini ve ölçeklenebilirliğini elde etmeye çalışan Bcachefs dosya sistemi kodunu benimser. Örneğin, Bcachefs bir bölüme birden fazla aygıt dahil etme, çok katmanlı sürücü düzenleri (hızlı SSD'lere dayanan sık kullanılan verileri içeren alt katman ve sabit sürücülerden daha az kullanılan verileri içeren üst katman), çoğaltma (RAID) gibi özellikleri destekler. 1/10), önbelleğe alma, şeffaf veri sıkıştırma (LZ4, gzip ve ZSTD modları), durum dilimleri (anlık görüntüler), sağlama toplamlarını kullanarak bütünlük doğrulama, Reed-Solomon hata düzeltme kodlarını (RAID 5/6) saklama yeteneği, bilgileri depolama şifrelenmiş form (ChaCha20 ve Poly1305 kullanılır). Performans açısından Bcachefs, Btrfs ve Yazarak Kopyala mekanizmasını temel alan diğer dosya sistemlerinden önde olup, Ext4 ve XFS'ye yakın çalışma hızı göstermektedir.
- Btrfs dosya sistemi, yalnızca oluşturuldukları alt bölümdeki kapsamları izleyerek daha yüksek performans elde etmenize olanak tanıyan, hesaplamaları önemli ölçüde basitleştiren ve performansı artıran, ancak birkaç alt bölümde paylaşılan kapsamları dikkate almanıza izin vermeyen basitleştirilmiş bir kota modu sunar. alt bölümler.
- Btrfs, fiziksel eşlemelerin cihazlar arasında eşleşmediği durumlarda mantıksal kapsam eşlemesi için uygun yeni bir "şerit ağacı" veri yapısı ekledi. Yapı şu anda bölgeli blok aygıtları için RAID0 ve RAID1 uygulamalarında kullanılmaktadır. Gelecekte bu yapıyı daha yüksek seviyeli RAID'lerde kullanmayı planlıyorlar, bu da mevcut uygulamada mevcut olan bir takım sorunları çözecek.
- Ceph dosya sistemi, monte edilmiş bir yabancı bölümdeki belirli bir kullanıcının dosyalarını mevcut sistemdeki başka bir kullanıcıyla eşleştirmek için kullanılan, monte edilmiş dosya sistemlerinin kullanıcı kimliklerini eşleme desteğini uygular.
- Kök olmayan işlemlerin UEFI değişkenlerini değiştirmesine izin vermek için efivarf'lara bağlama sırasında uid ve gid belirtme yeteneği eklendi.
- FS niteliklerini okumak ve değiştirmek için exFAT'e ioctl çağrıları eklendi. Sıfır boyutlu dizinlerin işlenmesi eklendi.
- F2FS, 16K blok kullanma yeteneğini uygular.
- Autofs automount mekanizması, yeni bölüm montaj API'sini kullanacak şekilde değiştirildi.
- OverlayFS, "lowerdir+" ve "datadir+" bağlama seçeneklerini sunar. OverlayFS'nin xattrs ile iç içe montajı için destek eklendi.
- XFS, gerçek zamanlı blok tahsis kodundaki CPU yükünü optimize etti. Okuma ve FICLONE işlemlerini eş zamanlı olarak yapabilme yeteneği sağlanmıştır.
- EXT2 kodu sayfa foliolarını kullanacak şekilde dönüştürüldü.
- Bellek ve sistem hizmetleri
- 2021 yılında üretimi durdurulan Intel'in Itanium işlemcilerinde kullanılan ia64 mimarisine verilen destek sona erdirildi. Intel, Itanium işlemcilerini 2001 yılında piyasaya sürmüştü, ancak ia64 mimarisi, özellikle AMD64'ün daha yüksek performansı ve 32 bit x86 işlemcilerden daha sorunsuz geçişi nedeniyle AMD64 ile rekabet edemedi. Sonuç olarak, Intel'in odağı x86-64 işlemcilere kaydı ve Itanium birincil odak noktası olarak kaldı. sunucular Üç yıl önce sipariş almayı durduran HP Integrity. ia64 destek kodu, öncelikle platformun uzun süredir destek eksikliğinden dolayı çekirdekten kaldırıldı. Linus Torvalds, ia64 desteğini yeniden etkinleştirmeye istekli olduğunu ifade etti, ancak bunun yalnızca bir geliştiricinin en az bir yıl boyunca çekirdek dışında platform için yüksek kaliteli destek sağlayabileceğini göstermesi şartıyla mümkün olacağını belirtti.
- Önyükleme aşamasında x32-32 mimarisi için oluşturulmuş çekirdeklerde 86 bit modu emülasyonu desteğini etkinleştirmenize veya devre dışı bırakmanıza olanak tanıyan “ia64_emulation” çekirdek satırı komut parametresi eklendi. Pratik açıdan bakıldığında, yeni seçenek, çekirdeği 32 bit uygulamalarla uyumluluk desteğiyle oluşturmanıza olanak tanır, ancak uyumluluk API'si ana çekirdeğe göre daha az test edildiğinden çekirdekteki saldırı vektörünü azaltmak için bu modu varsayılan olarak devre dışı bırakın arayüzler.
- Rust-for- dalından değişikliklerin taşınmasına devam edildi.LinuxBu, sürücü ve çekirdek modülleri geliştirmek için Rust'ı ikinci dil olarak kullanmakla ilgilidir (Rust desteği varsayılan olarak etkinleştirilmemiştir ve Rust, zorunlu bir çekirdek derleme bağımlılığı olarak dahil edilmemiştir). Yeni sürüm, Rust 1.73'e geçiş yapar ve iş kuyruklarıyla çalışmak için bir dizi bağlayıcı sunar.
- Ayrı ayrıcalıklı olmayan ad alanları içinde yeni yürütülebilir dosya formatlarına (örneğin, derlenmiş Java veya Python uygulamalarını çalıştırmak için) destek eklemek amacıyla binfmt_misc mekanizmasını kullanmak mümkündür.
- Bir görevi gerçekleştirirken CPU çekirdeklerinin kullanımını kontrol etmenize olanak tanıyan cgroup denetleyicisi cpuset, ana cgroup'un doğru kök bölüm olup olmadığına göre farklılık gösteren yerel ve uzak bölümlemeye bölünme sağlar. Özel CPU bağlama için cpuset'e yeni “cpuset.cpus.exclusive” ve “cpuset.cpus.excluisve.active” ayarları da eklendi.
- BPF alt sistemi, yığın çerçevelerini güvenli bir şekilde çözme yeteneği ile bir BPF programından acil çıkış olarak işlenen istisnalar için destek uygular. Ayrıca BPF programları CPU ile bağlantılı olarak kptr işaretçilerinin kullanılmasına izin verir.
- io_uring alt sistemine futex ile işlemler için destek eklendi ve yeni işlemler uygulandı: IORING_OP_WAITID (waitid'nin eşzamansız sürümü), SOCKET_URING_OP_GETSOCKOPT (getsockoptand seçeneği), SOCKET_URING_OP_SETSOCKOPT (setsockopt seçeneği) ve IORING_OP_READ_MULTISHOT (süre boyunca durmayan çoklu okuma işlemleri) veri var veya arabellek dolu değil).
- Yalnızca bir süreç bağlamında kuyruktan çıkarma için bir döndürme kilidi gerektiren ve herhangi bir bağlamda kuyruğa atomik eklemeler için bir döndürme kilidinden vazgeçilen, hafif tek bağlantılı FIFO kuyruklarının uygulanması eklendi.
- Nesneleri tahsis etmek ve geri döndürmek için yüksek performanslı bir kuyruğun ölçeklenebilir bir uygulamasına sahip bir halka arabelleği "objpool" eklendi.
- Değişikliklerin ilk kısmı, NUMA sistemlerinde daha iyi performansa sahip olan, 2 bit dışındaki boyutları destekleyen ve çoğullamalı futex() sistem çağrısı yerine kullanılabilen yeni futex32 API'sini uygulamak için eklendi.
- ARM32 ve S390x mimarileri için mevcut BPF talimatları seti (cpuv4) desteği eklendi.
- RISC-V mimarisi için, yığında arabellek taşması durumunda bir işlevden dönüş adresinin üzerine yazılmasına karşı koruma sağlamak üzere tasarlanmış, Clang 17'de bulunan Gölge Çağrı Yığını kontrol modunu kullanmak mümkündür. Korumanın özü, kontrol bir fonksiyona aktarıldıktan sonra dönüş adresini ayrı bir "gölge" yığına kaydetmek ve fonksiyondan çıkmadan önce bu adresi almaktır.
- Başarısız şekilde taranan sayfaları izleyen ve yeniden tarama yoğunluğunu azaltan, aynı bellek sayfalarını birleştirme mekanizmasına (KSM: Kernel Samepage Merging) yeni bir akıllı bellek sayfası tarama modu eklendi. Yeni modu etkinleştirmek için /sys/kernel/mm/ksm/smart_scan ayarı eklendi.
- userfaultfd() ile birlikte kullanıldığında belirli bir bellek aralığına yazma gerçeklerini belirlemenize olanak tanıyan yeni bir ioctl komutu PAGEMAP_SCAN eklendi. Örneğin yeni özellik, sistemde CRIU işlemlerinin durumunu kaydetmek ve geri yüklemek için veya oyun hile önleme sistemlerinde kullanılabilir.
- Montaj sisteminde, Clang derleyicisi mevcutsa, BPF programları olarak yazılan perf alt sisteminin kullanım örneklerinin montajı varsayılan olarak etkinleştirilir.
- Medya alt sistemindeki çerçeve arabelleklerini yönetmek için kullanılan ve 10 yılı aşkın bir süre önce yerini yeni bir videobuf2 uygulamasıyla değiştiren eski videobuf katmanı kaldırıldı.
- Sanallaştırma ve Güvenlik
- Fscrypt alt sistemine, dosya sistemindeki blok boyutundan daha küçük bloklar halinde veri şifreleme yeteneği eklenmiştir. Bu, yalnızca küçük blokları destekleyen donanım şifreleme mekanizmalarını etkinleştirmek için gerekli olabilir (örneğin, yalnızca 4096 blok boyutunu destekleyen UFS denetleyicileri, 16K blok boyutuna sahip bir dosya sistemiyle kullanılabilir).
- IOMMU (G/Ç Bellek Yönetim Birimi) bellek sayfası tablolarını kullanıcı alanından dosya tanımlayıcıları aracılığıyla yönetmenize olanak tanıyan "iommufd" alt sistemi, DMA için henüz önbellekten (kirli) temizlenmemiş verilerin takibini ekledi işlem geçişi sırasında temizlenmemiş verilerle belleğin belirlenmesi için gerekli olan işlemler.
- Landlock mekanizmasına, bir grup işlemin dış ortamla etkileşimini sınırlamanıza olanak tanıyan TCP soketleri için erişim kontrolü kurallarını tanımlama desteği eklendi. Örneğin, HTTPS bağlantıları kurmak için yalnızca ağ bağlantı noktası 443'e erişime izin veren bir kural oluşturabilirsiniz.
- AppArmor alt sistemi, io_uring mekanizmasına erişimi kontrol etme ve kullanıcı ad alanları oluşturma yeteneğini ekledi; bu, bu yeteneklere seçici olarak yalnızca belirli işlemlere erişime izin vermenize olanak tanır.
- Sertifikasyon API'si eklendi. Sanal makineler İndirme işlemlerinin doğruluğunu teyit etmek için.
- LoongArch sistemleri, KVM hipervizörünü kullanarak sanallaştırmayı destekler.
- RISC-V sistemlerinde KVM hipervizörünü kullanırken, sanal makinenin hipervizör tarafından açıkça desteklenmeyen CPU kayıtlarına erişmesini engelleyen Smstateen uzantısı için destek ortaya çıktı. Ayrıca konuk sistemlerde bazı koşullu tamsayı işlemlerinin kullanılmasına izin veren Zicond uzantısının kullanımına yönelik destek eklendi.
- KVM altında çalışan x86 tabanlı konuk sistemlerde 4096'ya kadar sanal CPU'ya izin verilir.
- Ağ alt sistemi
- TCP protokolünü kullanarak ağ üzerinden (Yapılar Üzerinden NVM Express) NVMe sürücülerine erişmenizi sağlayan NVMe-TCP (TCP üzerinden NVMe) sürücüsü, TLS (KTLS ve bir arka plan işlemi kullanarak) kullanarak veri iletim kanalını şifrelemek için destek ekledi. bağlantı anlaşması için tlshd kullanıcı alanında).
- Fq (Adil Kuyruk) paket zamanlayıcının performansı optimize edildi; bu, tcp_rr (TCP İstek/Yanıt) testinde iş hacminin ağır yükler altında %5 oranında ve sınırsız UDP paketi akışıyla %13 oranında artırılmasını mümkün kıldı.
- TCP, daha doğru gecikme tahmini ve daha gelişmiş tıkanıklık kontrol modüllerine olanak tanıyan isteğe bağlı bir mikrosaniye hassasiyetinde zaman damgası (TCP TS) özelliği (RFC 7323) ekler. Etkinleştirmek için “ip rota add 10/8 ... feature tcp_usec_ts” komutunu kullanabilirsiniz.
- TCP yığını, TCP-AO uzantısı (TCP Kimlik Doğrulama Seçeneği, RFC 5925) için destek ekledi; bu, daha modern algoritmalar HMAC-SHA1 ve CMAC-AES- kullanarak MAC kodlarını (Mesaj Kimlik Doğrulama Kodu) kullanarak TCP başlıklarını doğrulamayı mümkün kılar. 128 bunun yerine eski MD5 algoritmasını temel alan daha önce mevcut olan TCP-MD5 seçeneği.
- Veri aktarım mantığının bir BPF programı kullanılarak ayarlandığı yeni bir tür sanal ağ cihazı “netkit” eklendi.
- Bir SMB sunucusunun çekirdek düzeyinde uygulaması olan KSMBD, bileşik karakterlerin yedek çiftlerini içeren dosya adlarının çözümlenmesi için destek ekledi.
- NFS, iş parçacıklarının RPC hizmetleriyle uygulanmasını geliştirdi. Yazma yetkisi için destek eklendi (NFSv4.1+ için). NFSD, netlink işleyicisi rpc_status için destek ekledi. Knfsd'ye yeniden dışa aktarma sırasında NFSv4.x istemcileri için geliştirilmiş destek.
- Mutfak Cihazları
- Başlatma ve GPU kontrol işlemlerini ayrı bir GSP mikro denetleyicisinin (GPU Sistem İşlemcisi) yanına taşımak için NVIDIA RTX 20+ GPU'da kullanılan Nouveau çekirdek modülüne GSP-RM ürün yazılımı için ilk destek eklendi. GSP-RM desteği, Nouveau sürücüsünün doğrudan donanım etkileşimlerini programlamak yerine ürün yazılımı çağrıları üzerinden çalışmasına olanak tanır, böylece başlatma ve güç yönetimi için önceden oluşturulmuş çağrılar kullanılarak yeni NVIDIA GPU'lar için destek eklenmesi çok daha kolay hale gelir.
- AMDGPU sürücüsü GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 ve DML2'yi destekler. Kesintisiz yükleme için geliştirilmiş destek (video modunu değiştirirken titreme olmaz).
- i915 sürücüsü, Intel Meteor Lake yongaları için destek ekler ve Intel LunarLake'in (Xe 2) ilk uygulamasını ekler.
- USB4 v2 (120/40G) spesifikasyonuna asimetrik iletim kanalları için destek eklendi.
- ARM SoC desteği eklendi: Qualcomm Snapdragon 720G (Xiaomi akıllı telefonlarda kullanılır), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (yönlendiricilerde ve NAS'ta kullanılır).
- Fairphone 5 akıllı telefon ve ARM panoları Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30 için destek eklendi.
- RISC-V kartları Milk-V Pioneer ve Milk-V Duo için destek eklendi.
- AMD CPU'larla birlikte verilen HUAWEI dizüstü bilgisayarların ses arayüzleri için destek eklendi. Dell Oasis 13/14/16 dizüstü bilgisayarlara takılı ek hoparlörler için destek eklendi. Dahili hoparlörler ASUS K6500ZC için destek eklendi. HP 255 G8 ve G10 dizüstü bilgisayarlarda sessiz göstergesi için destek eklendi. Acp6.3 ses sürücüleri için destek eklendi. Focusrite Clarett+ 2Pre ve 4Pre profesyonel kayıt arayüzleri için destek eklendi.
Aynı zamanda, Latin Amerika Özgür Yazılım Vakfı tamamen özgür bir 6.7 çekirdeği sürümü oluşturdu. Linux-libre 6.7-gnu, üretici tarafından sınırlı kapsama sahip özgür olmayan bileşenler veya kod bölümleri içeren aygıt yazılımı ve sürücü öğelerinden temizlenmiştir. 6.7 sürümü, amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs ve btqca gibi çeşitli sürücüler ve alt sistemlerde güncellenmiş blob temizleme kodunu içerir. localtalk ve rtl8192u sürücüleri için temizleme kodu, çekirdekten çıkarılmaları nedeniyle kaldırılmıştır. Daha önce yanlışlıkla eklenen xhci-pci, rtl8xxxu ve rtw8822b sürücüleri için gereksiz temizleme bileşenleri kaldırılmıştır. Aarch64 mimarisi için dts dosyalarındaki blob adları temizlenmiştir. Yeni mt7925, tps6598x, aw87390 ve aw88399 sürücülerindeki bloblar kaldırılmıştır.
Kaynak: opennet.ru
