Kaluaran kernel Linux 5.11

Saatos dua bulan pangwangunan, Linus Torvalds nampilkeun sékrési kernel Linux 5.11. Diantara parobahan paling kasohor: rojongan pikeun enclaves Intel SGX, mékanisme anyar pikeun intercepting panggero sistem, beus bantu virtual, larangan dina assembling modul tanpa MODULE_LICENSE (), mode nyaring gancang pikeun panggero sistem di seccomp, terminasi rojongan pikeun arsitéktur ia64, mindahkeun téhnologi WiMAX kana cabang "pementasan", kamampuhan pikeun encapsulate SCTP di UDP.

Versi anyar kalebet 15480 perbaikan tina 1991 pamekar, ukuran patch nyaéta 72 MB (parobahan mangaruhan 12090 file, 868025 garis kode ditambah, 261456 garis dihapus). Sakitar 46% sadaya parobihan anu diwanohkeun dina 5.11 aya hubunganana sareng supir alat, sakitar 16% parobihan aya hubunganana sareng ngamutahirkeun kode khusus pikeun arsitéktur hardware, 13% aya hubunganana sareng tumpukan jaringan, 3% aya hubunganana sareng sistem file, sareng 4% aya hubunganana sareng subsistem kernel internal.

Inovasi utama:

  • Subsistem Disk, I/O sareng Sistem File
    • Sababaraha pilihan ningkatna geus ditambahkeun kana Btrfs pikeun pamakéan nalika malikkeun data tina sistem file ruksak: "nyalametkeun = ignorebadroots" pikeun ningkatna, sanajan ruksakna sababaraha tangkal root (extent, uuid, data reloc, alat, csum, spasi bébas), " rescue=ignoredatacsums”pikeun mareuman checksum mariksa data jeung “nyalametkeun=kabeh” pikeun sakaligus ngaktipkeun mode 'ignorebadroots', 'ignoredatacsums' jeung 'nologreplay'. The "inode_cache" pilihan Gunung, nu saméméhna deprecated, geus discontinued. Kodeu geus disiapkeun pikeun nerapkeun rojongan pikeun blok jeung metadata jeung data leuwih leutik batan ukuran kaca (PAGE_SIZE), kitu ogé rojongan pikeun mode alokasi spasi zoned. Unbuffered (Direct IO) requests geus dipindahkeun ka infrastruktur iomap. Kinerja sababaraha operasi parantos dioptimalkeun; dina sababaraha kasus, akselerasi tiasa ngahontal puluhan persén.
    • XFS implements bendera "needsrepair", nu sinyal perlu perbaikan. Nalika bandéra ieu disetel, sistem file teu tiasa dipasang dugi bandéra direset ku utilitas xfs_repair.
    • Ext4 ngan ukur nawiskeun perbaikan bug sareng optimasi, ogé ngabersihkeun kode.
    • Ékspor ulang sistem file anu dipasang dina NFS diidinan (nyaéta partisi anu dipasang via NFS ayeuna tiasa diékspor via NFS sareng dianggo salaku cache perantara).
    • Sistim panggero close_range (), anu ngamungkinkeun hiji prosés nutup hiji sakabéh rentang deskriptor file kabuka sakaligus, geus ditambahkeun pilihan CLOSE_RANGE_CLOEXEC nutup descriptors dina modeu nutup-on-exec.
    • Sistim file F2FS nambahkeun ioctl anyar () panggero pikeun ngidinan pamaké-spasi kontrol leuwih nu file disimpen dina formulir dikomprés. Ditambahkeun "compress_mode =" pilihan gunung pikeun milih naha nempatkeun panangan komprési di sisi kernel atanapi di rohangan pangguna.
    • Disadiakeun kamampuhan pikeun masang Overlayfs ku prosés unprivileged maké ngaranspasi pamaké misah. Pikeun pariksa patuh kana palaksanaan modél kaamanan, Inok kode lengkep dilaksanakeun. Overlayfs ogé nambihan kamampuan pikeun ngajalankeun nganggo salinan gambar sistem file ku cara nganonaktipkeun pamariksaan UUID sacara opsional.
    • Sistem file Ceph parantos nambihan dukungan pikeun protokol msgr2.1, anu ngamungkinkeun ngagunakeun algoritma AES-GCM nalika ngirimkeun data dina bentuk énkripsi.
    • Modul dm-multipath implements kamampuhan pikeun tumut kana akun pangirut CPU ("IO afinitas") lamun milih jalur pikeun I / requests O.
  • Mémori sareng jasa sistem
    • A mékanisme interception panggero sistem anyar geus ditambahkeun, dumasar prctl (), nu ngidinan Anjeun pikeun ngahasilkeun iwal ti spasi pamaké nalika ngakses panggero sistem husus sarta emulate palaksanaan na. Fungsionalitas ieu diperlukeun dina Wine jeung Proton pikeun niru sauran sistem Windows, anu dipikabutuh pikeun mastikeun kompatibilitas sareng kaulinan sareng program anu langsung ngalaksanakeun sauran sistem ngalangkungan Windows API (contona, pikeun ngajagaan tina panggunaan anu henteu sah).
    • Panggero sistem userfaultfd (), dirancang pikeun nanganan kasalahan halaman (aksés ka halaman mémori anu teu dialokasikeun) dina rohangan pangguna, ayeuna gaduh kamampuan pikeun nganonaktipkeun penanganan iwal anu lumangsung dina tingkat kernel supados langkung hese ngamangpaatkeun kerentanan anu tangtu.
    • Subsistem BPF parantos nambihan dukungan pikeun neundeun tugas-lokal, anu nyayogikeun data anu mengikat ka panangan BPF khusus.
    • Akunting konsumsi memori ku program BPF geus sagemblengna redesigned - a cgroup controller geus diajukeun tinimbang memlock rlimit pikeun ngatur pamakéan memori dina objék BPF.
    • Mékanisme BTF (BPF Type Format), anu nyayogikeun inpormasi mariksa jinis dina pseudocode BPF, nyayogikeun dukungan pikeun modul kernel.
    • Ditambahkeun rojongan pikeun shutdown (), renameat2 () sarta unlinkat () nelepon sistem ka io_uring Asynchronous I / panganteur O. Nalika nelepon io_uring_enter (), kamampuhan pikeun nangtukeun seep geus ditambahkeun (anjeun tiasa pariksa rojongan pikeun argumen pikeun nangtukeun hiji waktu kaluar maké bandéra IORING_FEAT_EXT_ARG).
    • Arsitéktur ia64 dipaké dina prosesor Intel Itanium geus dipindahkeun ka kategori yatim, nu hartina nguji geus ceased. Hewlett Packard Enterprise lirén nampi pesenan pikeun alat Itanium énggal, sareng Intel ngalakukeunana taun ka tukang.
    • Rojongan pikeun sistem dumasar kana arsitéktur MicroBlaze anu henteu kalebet unit manajemén mémori (MMU) parantos dileungitkeun. Sistem sapertos kitu parantos lami teu katingali dina kahirupan sapopoe.
    • Pikeun arsitéktur MIPS, rojongan pikeun nguji cakupan kode geus ditambahkeun maké utilitas gcov.
    • Ditambahkeun rojongan pikeun beus bantu maya pikeun interfacing sareng alat multifungsi nu ngagabungkeun fungsionalitas nu merlukeun drivers béda (Contona, kartu jaringan kalayan Ethernet jeung rojongan RDMA). Beus bisa dipaké pikeun nangtukeun supir primér sarta sekundér pikeun alat a, dina situasi dimana pamakéan MFD (Multi-Fungsi Alat) subsistem masalah.
    • Pikeun arsitektur RISC-V, rojongan geus ditambahkeun pikeun sistem alokasi memori CMA (Contiguous Memory Allocator), nu dioptimalkeun pikeun allocating wewengkon memori contiguous badag ngagunakeun téhnik gerakan kaca memori. Pikeun RISC-V, alat ogé dilaksanakeun pikeun ngawatesan aksés ka /dev/mem sareng ngiringan waktos ngolah ngaganggu.
    • Pikeun sistem ARM 32-bit, dukungan parantos ditambah pikeun alat debugging KASan (Kernel address sanitizer), anu ngabantosan ngaidentipikasi kasalahan nalika damel sareng mémori. Pikeun ARM 64-bit, palaksanaan KASan parantos dirobih janten tag MTE (MemTag).
    • Ditambahkeun epoll_pwait2 () panggero sistem pikeun ngidinan timeouts kalawan precision nanosecond (epoll_wait panggero manipulates milliseconds).
    • Sistim ngawangun ayeuna mintonkeun kasalahan nalika nyobian ngawangun modul kernel loadable nu lisensi kode teu diartikeun maké MODULE_LICENSE () makro. Ti ayeuna, ngagunakeun EXPORT_SYMBOL () makro pikeun fungsi statik ogé bakal ngabalukarkeun kasalahan ngawangun.
    • Ditambahkeun rojongan pikeun pemetaan objék GEM tina memori dipaké pikeun I / O, nu ngamungkinkeun pikeun nyepetkeun karya kalawan framebuffer on sababaraha arsitéktur.
    • Kconfig parantos ngirangan dukungan pikeun Qt4 (bari ngajaga dukungan pikeun Qt5, GTK sareng Ncurses).
  • Virtualisasi sareng Kaamanan
    • Rojongan pikeun modus respon gancang geus ditambahkeun kana seccomp () panggero sistem, nu ngidinan Anjeun pikeun gancang pisan nangtukeun naha panggero sistem tangtu diwenangkeun atawa dilarang dumasar kana bitmap konstan-aksi napel prosés, nu teu merlukeun ngajalankeun. pawang BPF.
    • Komponén kernel terpadu pikeun nyiptakeun sareng ngatur enclaves dumasar kana téknologi Intel SGX (Software Guard eXtensions), anu ngamungkinkeun aplikasi pikeun ngaéksekusi kodeu di daérah mémori énkripsi terasing, dimana sésa-sésa sistemna ngagaduhan aksés terbatas.
    • Salaku bagian tina inisiatif pikeun ngawatesan aksés ti rohangan pamaké ka MSR (register husus model), nulis ka MSR_IA32_ENERGY_PERF_BIAS register, nu ngidinan Anjeun pikeun ngarobah mode efisiensi énergi processor ("normal", "kinerja", "powersave") , dilarang.
    • Kamampuh nganonaktipkeun migrasi tugas-prioritas tinggi antara CPUs geus dipindahkeun tina cabang kernel-rt pikeun sistem real-time.
    • Pikeun sistem ARM64, kamampuhan pikeun ngagunakeun tag MTE (MemTag, Memory Tagging Extension) pikeun alamat memori handler sinyal geus ditambahkeun. Pamakéan MTE diaktipkeun ku nangtukeun SA_EXPOSE_TAGBITS pilihan dina sigaction () tur ngidinan Anjeun pikeun pariksa pamakéan bener tina pointers pikeun meungpeuk eksploitasi kerentanan disababkeun ku aksés ka blok memori geus dibébaskeun, overflows panyangga, aksés saméméh initialization, sarta pamakéan luar. konteks ayeuna.
    • Ditambahkeun parameter "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", anu ngamungkinkeun subsistem dm-verity mariksa tanda tangan hash tina sertipikat anu disimpen dina keyring sekundér. Dina prakték, setelan ngidinan Anjeun pikeun pariksa teu ukur sertipikat diwangun kana kernel, tapi ogé sertipikat dimuat salila operasi, nu ngamungkinkeun pikeun ngapdet sertipikat tanpa ngamutahirkeun sakabéh kernel.
    • Pamaké-mode Linux Ubuntu geus ditambahkeun rojongan pikeun suspend-to-dianggurkeun mode, nu ngidinan Anjeun pikeun freeze lingkungan sarta ngagunakeun sinyal SIGUSR1 hudang tina mode sare.
    • Mékanisme virtio-mem, nu ngidinan Anjeun pikeun hot-plug jeung megatkeun sambungan memori ka mesin virtual, geus ditambahkeun rojongan pikeun Big Block Mode (BBM), nu ngamungkinkeun pikeun mindahkeun atawa nyokot memori dina blok leuwih badag batan ukuran memori kernel. blok, nu perlu ngaoptimalkeun VFIO di QEMU.
    • Rojongan pikeun cipher CHACHA20-POLY1305 geus ditambahkeun kana palaksanaan kernel TLS.
  • Subsistem jaringan
    • Pikeun 802.1Q (VLAN), mékanisme manajemén kagagalan sambungan (CFM, Manajemén Sesar Konektipitas) parantos dilaksanakeun, anu ngamungkinkeun anjeun pikeun ngaidentipikasi, pariksa sareng ngasingkeun gagal dina jaringan sareng sasak virtual (Jaringan Bridged Virtual). Contona, CFM bisa dipaké pikeun ngasingkeun masalah dina jaringan Manjang sababaraha organisasi bebas nu karyawan ngan boga aksés ka alat sorangan.
    • Ditambahkeun rojongan pikeun encapsulating pakét protokol SCTP dina pakét UDP (RFC 6951), nu ngidinan Anjeun pikeun ngagunakeun SCTP dina jaringan kalawan penerjemah alamat heubeul nu teu langsung ngarojong SCTP, kitu ogé nerapkeun SCTP dina sistem nu teu nyadiakeun aksés langsung ka IP. lapisan.
    • Palaksanaan téknologi WiMAX parantos dialihkeun kana pementasan sareng dijadwalkeun pikeun dihapus dina waktos anu bakal datang upami teu aya pangguna anu meryogikeun WiMAX. WiMAX henteu dianggo deui dina jaringan umum, sareng dina kernel hiji-hijina supir anu tiasa dianggo WiMAX nyaéta supir Intel 2400m anu luntur. Pangrojong WiMAX dieureunkeun dina NetworkManager configurator jaringan dina 2015. Ayeuna, WiMax ampir lengkep diganti ku téknologi sapertos LTE, HSPA+ sareng Wi-Fi 802.11n.
    • Karya geus dipigawé pikeun ngaoptimalkeun kinerja ngolah lalulintas TCP asup dina modeu zerocopy, i.e. tanpa salinan tambahan pikeun panyangga anyar. Pikeun lalulintas sedeng-ukuran, ngawengku puluhan atawa sababaraha ratus kilobytes data, ngagunakeun zerocopy tinimbang recvmsg () noticeably leuwih éféktif. Salaku conto, parobihan anu dilaksanakeun ngamungkinkeun pikeun ningkatkeun efisiensi ngolah lalu lintas gaya RPC kalayan pesen 32 KB nalika nganggo zerocopy ku 60-70%.
    • Ditambahkeun ioctl anyar () panggero pikeun nyieun sasak jaringan Manjang sababaraha Tumbu PPP. Kamampuhan anu diusulkeun ngamungkinkeun pigura pikeun mindahkeun tina hiji saluran ka saluran anu sanés, contona tina PPPoE ka sési PPPoL2TP.
    • Integrasi kana inti MPTCP (MultiPath TCP), extension tina protokol TCP pikeun ngatur operasi sambungan TCP jeung pangiriman pakét sakaligus sapanjang sababaraha ruteu ngaliwatan interfaces jaringan béda pakait sareng alamat IP béda. Pelepasan anyar ngenalkeun dukungan pikeun pilihan ADD_ADDR pikeun ngiklankeun alamat IP anu sayogi anu tiasa dihubungkeun nalika nambihan aliran énggal kana sambungan MPTCP anu tos aya.
    • Ditambahkeun kamampuan pikeun ngonpigurasikeun tindakan nalika anggaran polling sambungan ngaleuwihan (sibuk-polling). Modeu SO_BUSY_POLL anu sayogi sateuacana hartosna ngalih ka softirq nalika anggaran béak. Pikeun aplikasi anu kudu terus ngagunakeun polling, pilihan anyar SO_PREFER_BUSY_POLL diajukeun.
    • IPv6 implements rojongan pikeun modeu SRv6 End.DT4 na End.DT6, dipaké pikeun nyieun multi-pamaké IPv4 L3 VPNs na VRF (Virtual routing tur diteruskeun) alat.
    • Netfilter ngahijikeun palaksanaan set éksprési, anu ngamungkinkeun pikeun nangtukeun sababaraha éksprési pikeun tiap unsur daptar set.
    • API geus ditambahkeun kana 802.11 tumpukan nirkabel pikeun ngonpigurasikeun wates kakuatan SAR, kitu ogé AE PWE sarta HE MCS parameter. Supir Intel iwlwifi parantos nambihan dukungan pikeun rentang 6GHz (Ultra High Band). Supir Qualcomm Ath11k parantos nambihan dukungan pikeun téknologi FILS (Fast Initial Link Setup, standarisasi salaku IEEE 802.11ai), anu ngamungkinkeun anjeun nyingkirkeun telat roaming nalika migrasi ti hiji titik aksés ka anu sanés.
  • pakakas
    • Supir amdgpu nyayogikeun dukungan pikeun AMD "Green Sardine" APU (Ryzen 5000) sareng "Dimgrey Cavefish" GPU (Navi 2), ogé dukungan awal pikeun AMD Van Gogh APU sareng inti Zen 2 sareng RDNA 2 GPU (Navi 2). Ditambahkeun dukungan pikeun idéntifikasi Renoir APU énggal (dumasar kana Zen 2 CPU sareng Vega GPU).
    • Supir i915 pikeun kartu vidéo Intel ngarojong téhnologi IS (Skala integer) kalayan palaksanaan filter pikeun ngaronjatkeun skala nyokot kana akun kaayaan piksel tatangga (interpolasi tatangga pangcaketna) pikeun nangtukeun warna piksel leungit. Rojongan pikeun kartu diskrit Intel DG1 geus dimekarkeun. Rojongan pikeun téhnologi "Big Joiner" geus dilaksanakeun, nu geus hadir saprak Ice Lake / Gen11 chip sarta ngidinan pamakéan hiji transcoder pikeun ngolah dua aliran, contona, pikeun kaluaran ka layar 8K via hiji DisplayPort. Ditambahkeun mode pikeun asynchronously pindah antara dua panyangga dina mémori video (async flip).
    • Supir nouveau parantos nambihan dukungan awal pikeun GPU NVIDIA dumasar kana microarchitecture Ampere (GA100, GeForce RTX 30xx), dugi ka dugi ka alat pikeun ngatur modeu pidéo.
    • Ditambahkeun dukungan pikeun protokol 3WIRE anu dianggo dina panel LCD. Ditambahkeun dukungan pikeun novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 sareng panel ABT Y030XX067A 3.0. Kapisah, urang tiasa nyatet dukungan pikeun panel smartphone OnePlus 6 sareng 6T, anu ngamungkinkeun pikeun ngatur beban kernel anu henteu dirobih dina alat.
    • Ditambahkeun dukungan pikeun pangontrol host USB4 diskrit munggaran Intel, Maple Ridge.
    • Ditambahkeun dukungan pikeun Allwinner H6 I2S, Alat Analog ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI sareng XCVR, Realtek RT715 sareng codec audio Qualcomm SM8250.
    • Ditambahkeun dukungan pikeun papan ARM, alat sareng platform: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton, NPCM730 ​​Mikrotik dumasar kana Marvell Prestera 382DX98, server sareng Nuvoton NPCM3236 BMC, Kontron i.MX750M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios8, Engicam PX64.Core.
    • Pangrojong anu diwangun pikeun konsol kaulinan Ouya dumasar kana NVIDIA Tegra 3.

Dina waktos anu sami, Yayasan Perangkat Lunak Gratis Amérika Latin ngawangun vérsi kernel 5.11 gratis lengkep - Linux-libre 5.11-gnu, diberesihan tina unsur firmware sareng supir anu ngandung komponén non-gratis atanapi bagian kode, ruang lingkupna terbatas. ku produsén. Pelepasan énggal ngabersihkeun supir pikeun qat_4xxx (crypto), lt9611uxcm (dsi / sasak hdmi), ccs / smia ++ (sensor), ath11k_pci, transceiver audio nxp sareng controller mhi pci. Kode beberesih blob diropéa dina supir sareng subsistem amdgpu, btqca, btrtl, btusb, i915 csr. Gumpalan anyar ditumpurkeun dina m3 rproc, jam ptp idt82p33 sareng panangan qualcomm64.

sumber: opennet.ru

Tambahkeun komentar