Linux 5.11 nga pagpagawas sa kernel

Pagkahuman sa duha ka bulan nga pag-uswag, gipresentar ni Linus Torvalds ang pagpagawas sa Linux kernel 5.11. Lakip sa labing inila nga mga pagbag-o: suporta alang sa Intel SGX enclaves, usa ka bag-ong mekanismo sa pag-intercept sa mga tawag sa sistema, usa ka virtual nga auxiliary bus, usa ka pagdili sa pag-assemble sa mga module nga walay MODULE_LICENSE(), usa ka paspas nga paagi sa pagsala alang sa mga tawag sa sistema sa seccomp, pagtapos sa suporta alang sa ia64 nga arkitektura, pagbalhin sa teknolohiya sa WiMAX ngadto sa "staging" nga sanga, ang abilidad sa pag-encapsulate sa SCTP sa UDP.

Ang bag-ong bersyon naglakip sa 15480 nga mga pag-ayo gikan sa 1991 nga mga developer, ang gidak-on sa patch mao ang 72 MB (ang mga pagbag-o nakaapekto sa 12090 nga mga file, 868025 ka linya sa code ang gidugang, 261456 ka linya ang natangtang). Mga 46% sa tanan nga mga pagbag-o nga gipaila sa 5.11 adunay kalabotan sa mga driver sa aparato, gibana-bana nga 16% sa mga pagbag-o ang may kalabutan sa pag-update sa code nga espesipiko sa mga arkitektura sa hardware, 13% adunay kalabotan sa network stack, 3% adunay kalabotan sa mga sistema sa file, ug 4% adunay kalabutan sa internal nga mga subsystem sa kernel.

Panguna nga mga inobasyon:

  • Disk Subsystem, I/O ug File Systems
    • Daghang mga kapilian sa pag-mount ang gidugang sa Btrfs aron magamit kung ibalik ang data gikan sa usa ka nadaot nga sistema sa file: "rescue = ignorebadroots" alang sa pag-mount, bisan pa sa kadaot sa pipila nga mga punoan sa ugat (kasangkaran, uuid, data reloc, aparato, csum, libre nga wanang), " rescue=ignoredatacsums” aron dili ma-disable ang checksum checking alang sa datos ug ang "rescue=all" aron dungan nga magamit ang 'ignorebadroots', 'ignoredatacsums' ug 'nologreplay' modes. Ang "inode_cache" nga kapilian sa pag-mount, nga kaniadto wala gigamit, gihunong na. Ang kodigo giandam na aron ipatuman ang suporta alang sa mga bloke nga adunay metadata ug datos nga mas gamay kay sa gidak-on sa panid (PAGE_SIZE), ingon man suporta alang sa zoned space allocation mode. Ang mga hangyo nga wala ma-buffer (Direct IO) gibalhin sa imprastruktura sa iomap. Ang pasundayag sa daghang mga operasyon na-optimize; sa pipila ka mga kaso, ang pagpatulin mahimong moabot sa napulo ka porsyento.
    • Gipatuman sa XFS ang bandila nga "needsrepair", nga nagpahibalo sa panginahanglan sa pag-ayo. Sa diha nga kini nga bandila gibutang, ang file system dili ma-mount hangtud nga ang bandila ma-reset sa xfs_repair utility.
    • Nagtanyag lamang ang Ext4 og mga pag-ayo sa bug ug pag-optimize, ingon man paglimpyo sa code.
    • Gitugotan ang pag-export pag-usab sa mga sistema sa file nga gi-mount sa NFS (sama sa usa ka partisyon nga gi-mount pinaagi sa NFS mahimo nang ma-export pinaagi sa NFS ug magamit ingon usa ka intermediate cache).
    • Ang close_range() nga tawag sa sistema, nga nagtugot sa usa ka proseso sa pagsira sa tibuok han-ay sa bukas nga file descriptors sa makausa, midugang ug CLOSE_RANGE_CLOEXEC nga kapilian sa pagsira sa mga deskriptor sa close-on-exec mode.
    • Ang F2FS file system nagdugang ug bag-ong ioctl() nga mga tawag aron tugotan ang user-space control kung asa nga mga file gitipigan sa compressed form. Gidugang ang "compress_mode=" mount option aron mapili kung ibutang ang compression handler sa kernel side o sa user space.
    • Gihatag ang abilidad sa pag-mount sa mga Overlayf pinaagi sa mga dili pribilihiyo nga mga proseso gamit ang usa ka lahi nga namespace sa gumagamit. Aron mapamatud-an ang pagsunod sa pagpatuman sa modelo sa seguridad, usa ka bug-os nga pag-audit sa code ang gihimo. Gidugang usab sa mga overlayf ang abilidad sa pagdagan gamit ang mga kopya sa mga imahe sa file system pinaagi sa opsyonal nga pag-disable sa UUID checking.
    • Ang Ceph file system midugang og suporta alang sa msgr2.1 protocol, nga nagtugot sa paggamit sa AES-GCM algorithm sa pagpadala sa datos sa encrypted nga porma.
    • Ang dm-multipath module nagpatuman sa abilidad sa pagkonsiderar sa CPU affinity (“IO affinity”) sa pagpili sa ruta alang sa I/O requests.
  • Mga serbisyo sa memorya ug sistema
    • Usa ka bag-ong mekanismo sa interception sa tawag sa sistema ang gidugang, base sa prctl(), nga nagtugot kanimo sa pagmugna og mga eksepsiyon gikan sa wanang sa user kung mag-access sa usa ka piho nga tawag sa sistema ug sundon ang pagpatuman niini. Kini nga gamit gikinahanglan sa Wine ug Proton aron masundog ang mga tawag sa sistema sa Windows, nga gikinahanglan aron maseguro ang pagkaangay sa mga dula ug mga programa nga direktang nagpahigayon sa mga tawag sa sistema nga nag-bypass sa Windows API (pananglitan, aron mapanalipdan batok sa dili awtorisadong paggamit).
    • Ang userfaultfd() nga tawag sa sistema, nga gidesinyo sa pagdumala sa mga sayup sa panid (pag-access sa wala gi-apod-apod nga mga panid sa panumduman) sa wanang sa gumagamit, karon adunay katakus sa pag-disable sa pagdumala sa eksepsiyon nga mahitabo sa lebel sa kernel aron mas lisud ang pagpahimulos sa pipila nga mga kahuyangan.
    • Ang subsystem sa BPF midugang og suporta alang sa task-local storage, nga naghatag og data binding sa usa ka piho nga BPF handler.
    • Ang accounting sa konsumo sa panumduman sa mga programa sa BPF hingpit nga gidesinyo pag-usab - usa ka cgroup controller ang gisugyot imbes nga memlock rlimit aron pagdumala sa paggamit sa memorya sa mga butang sa BPF.
    • Ang mekanismo sa BTF (BPF Type Format), nga naghatag impormasyon sa pagsusi sa tipo sa pseudocode sa BPF, naghatag suporta alang sa mga modulo sa kernel.
    • Gidugang nga suporta para sa shutdown(), renameat2() ug unlinkat() system calls sa io_uring asynchronous I/O interface. Sa pagtawag sa io_uring_enter(), ang abilidad sa pagtino sa usa ka timeout gidugang (mahimo nimong susihon ang suporta alang sa argumento aron matino ang usa ka timeout gamit ang IORING_FEAT_EXT_ARG nga bandila).
    • Ang arkitektura sa ia64 nga gigamit sa mga processor sa Intel Itanium gibalhin ngadto sa orphaned category, nga nagpasabot nga ang pagsulay mihunong. Ang Hewlett Packard Enterprise mihunong sa pagdawat sa mga order alang sa bag-ong kagamitan sa Itanium, ug gibuhat kini sa Intel sa miaging tuig.
    • Ang suporta alang sa mga sistema base sa MicroBlaze nga arkitektura nga wala maglakip sa usa ka memory management unit (MMU) gihunong na. Ang ingon nga mga sistema wala pa makita sa adlaw-adlaw nga kinabuhi sa dugay nga panahon.
    • Para sa arkitektura sa MIPS, gidugang ang suporta sa code coverage testing gamit ang gcov utility.
    • Gidugang nga suporta alang sa virtual nga auxiliary bus alang sa interfacing sa mga multifunction device nga naghiusa sa pagpaandar nga nanginahanglan lainlaing mga drayber (pananglitan, mga network card nga adunay suporta sa Ethernet ug RDMA). Ang bus mahimong magamit sa pag-assign sa usa ka panguna ug sekondaryang drayber sa usa ka aparato, sa mga sitwasyon diin ang paggamit sa subsystem sa MFD (Multi-Function Devices) adunay problema.
    • Alang sa arkitektura sa RISC-V, gidugang ang suporta alang sa CMA (Contiguous Memory Alocator) nga sistema sa alokasyon sa panumduman, nga gi-optimize alang sa pag-alok sa dagkong mga lugar sa panumduman gamit ang mga teknik sa paglihok sa panid sa panumduman. Alang sa RISC-V, gipatuman usab ang mga himan aron limitahan ang pag-access sa /dev/mem ug tagdon ang oras sa pagproseso sa interrupt.
    • Para sa 32-bit ARM system, gidugang ang suporta para sa KASan (Kernel address sanitizer) debugging tool, nga makatabang sa pag-ila sa mga kasaypanan kung nagtrabaho gamit ang memorya. Alang sa 64-bit ARM, ang pagpatuman sa KASan nakabig aron magamit ang mga tag sa MTE (MemTag).
    • Gidugang ang epoll_pwait2() system call aron tugotan ang mga timeout nga adunay nanosecond precision (epoll_wait call nagmaniobra sa milliseconds).
    • Ang sistema sa pagtukod karon nagpakita sa usa ka sayup sa dihang misulay sa paghimo og loadable kernel modules diin ang code license wala gihubit gamit ang MODULE_LICENSE() macro. Sukad karon, ang paggamit sa EXPORT_SYMBOL() nga macro para sa mga static nga gimbuhaton mahimo usab nga hinungdan sa usa ka sayup sa pagtukod.
    • Gidugang nga suporta alang sa pagmapa sa mga butang nga GEM gikan sa memorya nga gigamit alang sa I / O, nga nagpaposible sa pagpadali sa pagtrabaho sa framebuffer sa pipila nga mga arkitektura.
    • Ang Kconfig naghulog sa suporta alang sa Qt4 (samtang nagpadayon ang suporta alang sa Qt5, GTK ug Ncurses).
  • Virtualization ug Security
    • Ang suporta alang sa dali nga pagtubag nga mode gidugang sa seccomp() nga tawag sa sistema, nga nagtugot kanimo nga dali nga mahibal-an kung gitugotan o gidili ang usa ka tawag sa sistema base sa kanunay nga aksyon nga bitmap nga gilakip sa proseso, nga wala magkinahanglan pagdagan. usa ka BPF handler.
    • Nahiusa nga mga sangkap sa kernel alang sa paghimo ug pagdumala sa mga enclave nga gibase sa teknolohiya sa Intel SGX (Software Guard eXtensions), nga nagtugot sa mga aplikasyon sa pag-execute sa code sa nahilit nga naka-encrypt nga mga lugar sa memorya, diin ang nahabilin nga sistema adunay limitado nga pag-access.
    • Isip kabahin sa usa ka inisyatibo nga limitahan ang access gikan sa user space ngadto sa MSR (model-specific register), pagsulat ngadto sa MSR_IA32_ENERGY_PERF_BIAS register, nga nagtugot kanimo sa pag-usab sa processor energy efficiency mode ("normal", "performance", "powersave") , gidili.
    • Ang abilidad sa pag-disable sa paglalin sa taas nga prayoridad nga mga buluhaton tali sa mga CPU gibalhin gikan sa kernel-rt nga sanga alang sa real-time nga mga sistema.
    • Para sa mga sistema sa ARM64, ang abilidad sa paggamit sa MTE tags (MemTag, Memory Tagging Extension) para sa signal handler memory address gidugang. Ang paggamit sa MTE gipalihok pinaagi sa pagpiho sa SA_EXPOSE_TAGBITS nga opsyon sa sigaction() ug nagtugot kanimo sa pagsusi sa hustong paggamit sa mga pointer aron babagan ang pagpahimulos sa mga kahuyangan tungod sa pag-access sa napagawas na nga mga bloke sa panumduman, pag-awas sa buffer, pag-access sa wala pa ang pagsugod, ug paggamit sa gawas sa kasamtangan nga konteksto.
    • Gidugang ang parameter nga "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", nga nagtugot sa dm-verity subsystem sa pagsusi sa hash signatures sa mga sertipiko nga gibutang sa secondary keyring. Sa praktis, ang pag-setup nagtugot kanimo sa pag-verify dili lamang sa mga sertipiko nga gitukod sa kernel, apan usab sa mga sertipiko nga gikarga sa panahon sa operasyon, nga nagpaposible sa pag-update sa mga sertipiko nga walay pag-update sa tibuok kernel.
    • Ang user-mode nga Linux adunay dugang nga suporta alang sa suspend-to-idle mode, nga nagtugot kanimo sa pag-freeze sa palibot ug paggamit sa SIGUSR1 signal aron makamata gikan sa sleep mode.
    • Ang mekanismo sa virtio-mem, nga nagtugot kanimo sa pag-hot-plug ug pagdiskonekta sa memorya sa mga virtual machine, nagdugang suporta alang sa Big Block Mode (BBM), nga nagpaposible sa pagbalhin o pagkuha sa memorya sa mga bloke nga mas dako pa sa gidak-on sa kernel memory. block, nga gikinahanglan aron ma-optimize ang VFIO sa QEMU.
    • Ang suporta alang sa CHACHA20-POLY1305 cipher gidugang sa kernel nga pagpatuman sa TLS.
  • Subsystem sa network
    • Alang sa 802.1Q (VLAN), usa ka mekanismo sa pagdumala sa kapakyasan sa koneksyon (CFM, Connectivity Fault Management) ang gipatuman, nga nagtugot kanimo sa pag-ila, pag-verify ug paglain sa mga kapakyasan sa mga network nga adunay mga virtual nga tulay (Virtual Bridged Networks). Pananglitan, ang CFM mahimong magamit sa paglain sa mga problema sa mga network nga naglangkob sa daghang mga independente nga organisasyon kansang mga empleyado adunay access lamang sa ilang kaugalingon nga kagamitan.
    • Gidugang nga suporta alang sa pag-encapsulate sa SCTP protocol packets sa UDP packets (RFC 6951), nga nagtugot kanimo sa paggamit sa SCTP sa mga network nga adunay mga tigulang nga tighubad sa address nga dili direktang nagsuporta sa SCTP, ingon man usab sa pagpatuman sa SCTP sa mga sistema nga dili makahatag og direktang access sa IP. lut-od.
    • Ang pagpatuman sa teknolohiya sa WiMAX gibalhin ngadto sa dula ug gitakda nga tangtangon sa umaabot kung walay mga tiggamit nga nagkinahanglan sa WiMAX. Ang WiMAX wala na gigamit sa mga pampublikong network, ug sa kernel ang bugtong drayber nga magamit sa WiMAX mao ang karaan nga Intel 2400m nga drayber. Ang suporta sa WiMAX gihunong sa NetworkManager network configurator sa 2015. Sa pagkakaron, ang WiMax halos hingpit nga gipulihan sa mga teknolohiya sama sa LTE, HSPA+ ug Wi-Fi 802.11n.
    • Gihimo ang trabaho aron ma-optimize ang pasundayag sa pagproseso sa umaabot nga trapiko sa TCP sa zerocopy mode, i.e. nga walay dugang nga pagkopya sa bag-ong mga buffer. Alang sa medium-sized nga trapiko, nga naglangkob sa napulo o pipila ka gatus ka kilobytes nga datos, ang paggamit sa zerocopy imbes nga recvmsg() mas epektibo. Pananglitan, ang gipatuman nga mga pagbag-o nagpaposible nga madugangan ang kahusayan sa pagproseso sa istilo sa RPC nga trapiko nga adunay 32 KB nga mga mensahe kung gigamit ang zerocopy sa 60-70%.
    • Gidugang ang bag-ong ioctl() nga mga tawag aron makahimo og mga tulay sa network nga naglangkob sa daghang mga link sa PPP. Ang gisugyot nga kapabilidad nagtugot sa mga frame nga mobalhin gikan sa usa ka channel ngadto sa lain, pananglitan gikan sa PPPoE ngadto sa PPPoL2TP session.
    • Paghiusa ngadto sa kinauyokan sa MPTCP (MultiPath TCP), usa ka extension sa TCP protocol alang sa pag-organisar sa operasyon sa usa ka koneksyon sa TCP uban sa paghatod sa mga packet dungan sa pipila ka mga ruta pinaagi sa lain-laing mga network interface nga may kalabutan sa lain-laing mga IP address. Ang bag-ong pagpagawas nagpaila sa suporta alang sa ADD_ADDR nga kapilian sa pag-anunsyo sa magamit nga mga adres sa IP nga mahimong konektado kung magdugang mga bag-ong agos sa usa ka kasamtangan nga koneksyon sa MPTCP.
    • Gidugang ang abilidad sa pag-configure sa mga aksyon kung ang badyet sa pagboto sa koneksyon nalapas (busy-polling). Ang kaniadto nga magamit nga SO_BUSY_POLL mode nagpasabut sa pagbalhin sa softirq kung nahurot na ang badyet. Para sa mga aplikasyon nga kinahanglang magpadayon sa paggamit sa polling, usa ka bag-ong opsyon nga SO_PREFER_BUSY_POLL ang gisugyot.
    • Ang IPv6 nagpatuman sa suporta alang sa SRv6 End.DT4 ug End.DT6 modes, gigamit sa paghimo og multi-user IPv4 L3 VPNs ug VRF (Virtual routing and forwarding) nga mga device.
    • Gihiusa sa Netfilter ang pagpatuman sa mga set nga ekspresyon, nga nagpaposible sa pagpiho sa daghang mga ekspresyon alang sa matag elemento sa mga lista sa set.
    • Gidugang ang mga API sa 802.11 wireless stack aron ma-configure ang mga limitasyon sa gahum sa SAR, ingon man ang mga parameter sa AE PWE ug HE MCS. Ang suporta alang sa 6GHz (Ultra High Band) range gidugang sa Intel iwlwifi driver. Ang Qualcomm Ath11k driver midugang og suporta alang sa FILS (Fast Initial Link Setup, standardized as IEEE 802.11ai) nga teknolohiya, nga nagtugot kanimo sa pagtangtang sa roaming delays atol sa paglalin gikan sa usa ka access point ngadto sa lain.
  • Kagamitan
    • Ang drayber sa amdgpu naghatag suporta alang sa AMD "Green Sardine" APU (Ryzen 5000) ug "Dimgrey Cavefish" GPU (Navi 2), ingon man ang inisyal nga suporta alang sa AMD Van Gogh APU nga adunay Zen 2 core ug RDNA 2 GPU (Navi 2). Gidugang nga suporta alang sa bag-ong Renoir APU identifiers (base sa Zen 2 CPU ug Vega GPU).
    • Ang drayber sa i915 alang sa mga video card sa Intel nagsuporta sa teknolohiya sa IS (Integer scaling) uban ang pagpatuman sa usa ka filter alang sa pagdugang sa sukod nga gikonsiderar ang kahimtang sa silingan nga mga pixel (Nearest-nearest interpolation) aron mahibal-an ang kolor sa nawala nga mga pixel. Ang suporta alang sa discrete Intel DG1 cards gipalapdan. Ang suporta alang sa teknolohiya nga "Big Joiner" gipatuman, nga anaa na sukad sa Ice Lake / Gen11 chips ug nagtugot sa paggamit sa usa ka transcoder sa pagproseso sa duha ka sapa, pananglitan, alang sa output ngadto sa 8K screen pinaagi sa usa ka DisplayPort. Gidugang ang usa ka mode alang sa asynchronously nga pagbalhin tali sa duha ka buffer sa memorya sa video (async flip).
    • Ang nouveau nga drayber midugang og inisyal nga suporta para sa NVIDIA GPUs base sa Ampere microarchitecture (GA100, GeForce RTX 30xx), hangtod karon limitado sa mga himan para sa pagkontrol sa mga video mode.
    • Gidugang nga suporta alang sa 3WIRE protocol nga gigamit sa mga panel sa LCD. Gidugang nga suporta alang sa novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ug ABT Y030XX067A 3.0 nga mga panel. Sa tinuud, mahimo naton matikdan ang suporta alang sa panel sa OnePlus 6 ug 6T nga mga smartphone, nga nagpaposible sa pag-organisar sa pag-load sa usa ka wala gibag-o nga kernel sa mga aparato.
    • Gidugang nga suporta alang sa una nga discrete USB4 host controller sa Intel, ang Maple Ridge.
    • Gidugang nga suporta alang sa Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ug XCVR, Realtek RT715 ug Qualcomm SM8250 audio codec.
    • Gidugang nga suporta alang sa ARM boards, device ug platforms: 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 base sa Marvell Prestera 382DX98, mga server nga adunay Nuvoton NPCM3236 BMC, Kontron i.MX750M Mini, Espressobin Ultra, “Trogdor” Chromebook, Kobol Helios8, Engicam PX64.Core.
    • Gitukod-sa suporta alang sa Ouya gaming console base sa NVIDIA Tegra 3.

Sa parehas nga oras, ang Latin American Free Software Foundation nagporma usa ka bersyon sa hingpit nga libre nga 5.11 kernel - Linux-libre 5.11-gnu, gitangtang sa mga elemento sa firmware ug mga drayber nga adunay sulud nga dili libre nga mga sangkap o mga seksyon sa code, ang sakup niini limitado. pinaagi sa tiggama. Ang bag-ong pagpagawas naglimpyo sa mga drayber alang sa qat_4xxx (crypto), lt9611uxcm (dsi/hdmi bridge), ccs/smia++ (sensor), ath11k_pci, nxp audio transceiver ug mhi pci controller. Gi-update nga blob cleaning code sa mga driver ug subsystems amdgpu, btqca, btrtl, btusb, i915 csr. Gibalda ang bag-ong mga blobs sa m3 rproc, idt82p33 ptp clock ug qualcomm arm64.

Source: opennet.ru

Idugang sa usa ka comment