Pagpagawas sa kernel Linux 5.6

Pagkahuman sa duha ka bulan nga pag-uswag, si Linus Torvalds gipaila pagpagawas sa kernel Linux 5.6Lakip sa labing talagsaong mga pagbag-o: ang paghiusa sa usa ka VPN interface WireGuard, suporta sa USB4, mga time namespace, ang abilidad sa paghimo og mga TCP congestion handler gamit ang BPF, inisyal nga suporta para sa MultiPath TCP, usa ka kernel fix para sa problema sa tuig 2038, ang mekanismo nga "bootconfig", ZoneFS.

Ang bag-ong bersyon naglakip sa 13702 nga mga pag-ayo gikan sa 1810 nga mga developer,
gidak-on sa patch - 40 MB (mga pagbag-o nga apektado sa 11577 nga mga file, gidugang 610012 nga linya sa code,
294828 ka laray ang gikuha). Mga 45% sa tanan nga gipresentar sa 5.6
Ang mga pagbag-o adunay kalabotan sa mga driver sa aparato, gibana-bana nga 15% sa mga pagbag-o adunay
kinaiya sa pag-update sa code nga espesipiko sa mga arkitektura sa hardware, 12%
may kalabotan sa network stack, 4% sa mga file system ug 3% sa internal
mga subsystem sa kernel.

nag-unang mga inobasyon:

  • Subsystem sa network
    • Gidugang pagpatuman sa usa ka VPN interface WireGuard, nga gipatuman base sa modernong mga pamaagi sa pag-encrypt (ChaCha20, Poly1305, Curve25519, BLAKE2s), dali gamiton, walay komplikasyon, napamatud-an na ang kaugalingon sa daghang dagkong mga implementasyon ug naghatag og taas kaayo nga performance (3,9 ka pilo nga mas paspas OpenVPN pinaagi sa throughput). Sa WireGuard Gigamit ang konsepto sa encryption key routing, nga naglambigit sa pag-bind sa usa ka private key sa matag network interface ug paggamit sa public keys para sa pag-bind. Ang pagbayloay sa public keys aron makatukod og koneksyon susama sa SSH. Gikinahanglan para sa operasyon. WireGuard mga primitibong kriptograpiya kini mao ang gidala sa ibabaw gikan sa library zinc isip kabahin sa standard Crypto API ug apil ngadto sa kinauyokan 5.5.
    • Nagsugod Paghiusa sa mga sangkap nga gikinahanglan aron suportahan ang MPTCP (MultiPath TCP), usa ka extension sa TCP protocol para sa pag-organisar sa mga koneksyon sa TCP nga adunay dungan nga paghatud sa packet subay sa daghang ruta pinaagi sa lainlaing mga interface sa network nga konektado sa lainlaing mga IP address. Para sa mga aplikasyon sa network, ang ingon nga aggregated connection makita isip usa ka regular nga koneksyon sa TCP, ug ang tanan nga stream separation logic gihimo sa MPTCP. Ang Multipath TCP magamit aron mapalapdan ang throughput ug mapaayo ang kasaligan. Pananglitan, ang MPTCP magamit aron maorganisar ang pagbalhin sa datos sa usa ka smartphone gamit ang WiFi ug 4G link, o aron makunhuran ang mga gasto pinaagi sa pagkonektar sa usa ka server gamit ang daghang barato nga mga link imbes nga usa ka mahal.
    • Gidugang suporta para sa disiplina sa pagproseso sa pila sa sch_ets network (Gipauswag nga Pagpili sa Transmisyon, IEEE 802.1Qaz), nga naghatag sa abilidad sa pag-apod-apod sa bandwidth taliwala sa lain-laing mga klase sa trapiko. Kung ang load sa usa ka partikular nga klase sa trapiko mas ubos kaysa sa gi-assign nga bandwidth, nan ang ETS motugot sa ubang mga klase sa trapiko sa paggamit sa magamit (wala magamit) nga bandwidth. Ang Qdisc sch_ets gi-configure isip usa ka disiplina sa PRIO ug naggamit sa mga klase sa trapiko aron pagtino sa estrikto ug gipaambit nga mga limitasyon sa bandwidth. Ang ETS naglihok isip usa ka kombinasyon sa mga disiplina. SA WALA PA и DRR — kon adunay estrikto nga limitado nga mga klase sa trapiko, ang PRIO ang gamiton, apan kon walay trapiko sa pila, kini mogana isip DRR.
    • Usa ka bag-ong klase sa mga programa sa BPF ang gidugang BPF_PROG_TYPE_STRUCT_OPS, nga nagtugot sa mga kernel function handler nga mapatuman pinaagi sa BPF. Kini nga kapabilidad magamit na karon aron mapatuman ang mga algorithm sa pagkontrol sa TCP congestion isip mga programa sa BPF. Pananglitan, gisugyot Programa sa BPF nga adunay pagpatuman sa algorithm DCTCP.
    • Gidawat sa kinauyokan mga pagbag-o, mga himan sa paghubad ethtool gamit ang ioctl() para magamit interface sa netlinkAng bag-ong interface nagpasayon ​​sa pagdugang og mga extension, nagpaayo sa pagdumala sa mga sayop, nagtugot sa mga notipikasyon kung ang estado mausab, nagpasayon ​​sa interaksyon tali sa core ug user space, ug nagpamenos sa gidaghanon sa ginganlan nga mga lista nga i-synchronize.
    • Usa ka implementasyon sa Flow Queue PIE (FQ-PIE) network queue management algorithm ang gidugang. Kini nga algorithm gidisenyo aron makunhuran ang negatibo nga epekto sa intermediate packet buffering sa edge network equipment (bufferbloat). Ang FQ-PIE nagpakita sa taas nga efficiency kung gamiton sa mga cable modem system.
  • Disk Subsystem, I/O ug File Systems
    • Para sa sistema sa file nga Btrfs gidugang Asynchronous nga pagpatuman sa operasyon sa DISCARD (pagmarka sa mga gibuhian nga bloke nga dili na mahimong tipigan sa pisikal). Sa sinugdanan, ang mga operasyon sa DISCARD gihimo nga dungan, nga mahimong mosangpot sa silot sa performance tungod sa paghulat nga makompleto sa mga drive ang katugbang nga mga sugo. Ang asynchronous nga pagpatuman nagwagtang sa panginahanglan sa paghulat nga makompleto sa drive ang DISCARD ug nagtugot niini nga operasyon nga himuon sa background.
    • Sa XFS gipatuman Gilimpyohan ang code nga migamit sa daan nga 32-bit time counters (time_t type gipulihan sa time64_t), nga misangpot sa problema sa Year 2038. Giayo ang mga sayop ug mga korapsyon sa memorya nga nahitabo sa 32-bit nga mga plataporma. Gi-refactor ang code aron madumala ang gipalapdan nga mga attribute.
    • Ngadto sa ext4 file system gipaila-ila Mga pag-optimize sa performance nga may kalabutan sa pagdumala sa inode lock atol sa mga operasyon sa pagbasa ug pagsulat. Gipauswag nga performance sa pagsulat pag-usab sa Direct I/O mode. Aron mapasayon ​​ang pagdayagnos sa problema, ang una ug katapusang mga error code gitipigan na karon sa superblock.
    • Sa sistema sa file nga F2FS gipatuman Ang abilidad sa pagtipig og datos sa compressed form. Ang compression mahimong ma-enable para sa usa ka indibidwal nga file o directory gamit ang command nga "chattr +c file" o "chattr +c dir; touch dir/file." Para ma-compress ang tibuok partition, gamita ang "-o compress_extension=ext" nga opsyon sa mount utility.
    • Ang sistema sa file gisagop na sa kernel ZoneFS, nga nagpasayon ​​sa low-level nga trabaho gamit ang mga zoned storage device. Ang mga zoned drive kay mga hard disk drive o NVMe SSD kansang storage space gibahin ngadto sa mga zone, nga naglangkob sa mga grupo sa mga bloke o sektor. Ang sunod-sunod nga pagdugang sa datos lamang ang gitugotan, diin ang tibuok block group gi-update. Gipalambo sa Western Digital, ang ZoneFS nag-associate sa matag zone sa usa ka drive nga adunay lahi nga file nga magamit sa pagtipig sa datos sa raw mode nga walay sector- o block-level manipulation, nga nagtugot sa mga aplikasyon sa paggamit sa file API imbes nga direktang maka-access sa block device gamit ang ioctl.
    • Ang pag-mount sa mga partisyon gamit ang UDP dili na ma-disable sa NFS. Gidugang ang suporta para sa direktang pagkopya sa file tali sa mga server, sama sa gihubit sa NFS 4.2 specification. Gidugang ang bag-ong opsyon sa pag-mount, ang "softreval," nga nagtugot sa paggamit sa mga cached attribute values ​​​​kung adunay server failure. Pananglitan, ang pag-specify niini nga opsyon nagtugot sa path traversal sa usa ka NFS partition ug access sa cached information human ang usa ka server dili magamit.
    • Gibuhat Mga pag-optimize sa performance para sa mekanismo sa fs-verity nga gigamit sa pagmonitor sa integridad ug pagkatinuod sa indibidwal nga mga file. Nadugangan ang performance sa sunod-sunod nga pagbasa tungod sa paggamit sa Merkle tree. Ang performance sa FS_IOC_ENABLE_VERITY na-optimize ubos sa mga kondisyon nga kulang sa cache (gi-enable na karon ang data page read-ahead).
  • Virtualization ug Security
    • Dili na kinahanglan ang pag-disable sa SE module.Linux atol sa operasyon, ug sa umaabot, pagdiskarga sa na-activate na nga SELinux gidili. Aron dili ma-disable ang SELinux Kinahanglan nimong ipasa ang parameter nga "selinux=0" sa kernel command line.
    • Gidugang suporta para sa mga time namespace, nga nagtugot sa estado sa system clock (CLOCK_REALTIME) nga i-bound sa usa ka container
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), gamita ang imong kaugalingong oras sa sudlanan ug, kung ibalhin ang sudlanan ngadto sa laing host, siguroha nga ang mga kantidad sa CLOCK_MONOTONIC ug CLOCK_BOOTTIME magpabilin nga wala mausab (isipa ang oras pagkahuman sa pag-boot, uban o wala gikonsiderar ang pagkaanaa sa sleep mode).
    • Ang /dev/random locking pool gitangtang na. Ang kinaiya sa /dev/random gipaduol na sa iya sa /dev/urandom sa pagpugong sa entropy locking human sa pool initialization.
    • Ang kinauyokan nga kernel naglakip sa usa ka drayber nga nagtugot sa mga guest system nga nagpadagan sa VirtualBox sa pag-mount sa mga direktoryo nga gi-eksport sa host environment (VirtualBox Shared Folder).
    • Usa ka hugpong sa mga patch ang gidugang sa BPF subsystem (Dispatser sa BPF), sa konteksto sa paggamit sa mekanismo sa Retpoline aron mapanalipdan batok sa mga pag-atake sa Spectre V2, gitugotan niini ang pagdugang sa kahusayan sa pagtawag sa mga programa sa BPF kung adunay mga panghitabo nga nalangkit niini (pananglitan, gihimo niini nga posible ang pagpadali sa pagtawag sa mga handler sa XDP kung moabut ang usa ka network packet).
    • Gidugang ang driver aron suportahan ang built-in nga TEE (Trusted Execution Environment) nga mga palibot sa AMD APU.
  • Mga serbisyo sa memorya ug sistema
    • Ang BPF midugang og suporta para sa mga global function. Kini nga kalamboan kabahin sa usa ka inisyatibo aron makadugang og suporta para sa mga function libraries nga mahimong ilakip sa mga programa sa BPF. Ang sunod nga lakang mao ang suporta para sa mga dynamic extension, nga magtugot sa pagkarga sa mga global function, lakip na ang pag-ilis sa kasamtangang mga global function samtang kini gigamit. Ang BPF subsystem midugang usab og suporta para sa usa ka variant sa map operation (gigamit sa pagtipig sa persistent data) nga nagsuporta sa batch execution.
    • Gindugangan Ang "cpu_cooling" device nagtugot kanimo sa pagpabugnaw sa usa ka sobra nga kainit nga CPU pinaagi sa pagbutang niini sa usa ka idle nga estado sulod sa mubo nga mga panahon.
    • Gidugang ang tawag sa sistema openat2(), nga nagtanyag og dugang nga mga flag aron limitahan ang resolusyon sa agianan sa file (pagpugong sa pagtabok sa mount point, simbolikong mga sumpay, mahika nga mga sumpay (/proc/PID/fd), mga sangkap nga "../").
    • Para sa mga heterogeneous nga sistema nga gibase sa big.LITTLE nga arkitektura, nga naghiusa sa gamhanan ug dili kaayo produktibo nga energy-efficient nga mga CPU core sa usa ka chip, ang uclamp_min parameter gi-set kung mo-execute sa real-time nga mga buluhaton (mitungha (Sa kernel 5.3, ang load pinning mechanism). Kini nga parameter nagsiguro nga ang buluhaton i-iskedyul sa scheduler sa usa ka CPU core nga adunay igong performance.
    • Ang kernel gibuhian gikan sa mga problema sa 2038Gipulihan ang katapusang nahibiling mga handler nga migamit sa 32-bit (signed int) time_t type para sa epochal time counter, nga, base sa 1970 report, gilaumang mo-overflow sa 2038.
    • Padayon nga pagpaayo sa asynchronous I/O interface io_uringdiin gihatag suporta para sa mga bag-ong operasyon: IORING_OP_FALLOCATE (mga bakanteng lugar nga gireserba), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (pag-abli ug pagsira sa mga file),
      IORING_OP_FILES_UPDATE (pagdugang ug pagtangtang sa mga file gikan sa quick access list),
      IORING_OP_STATX (pangutana sa impormasyon sa file),
      IORING_OP_READ,
      IORING_OP_WRITE (gipasimple nga mga analogue sa IORING_OP_READV ug IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (mga asynchronous nga variant sa posix_fadvise ug madvise nga mga tawag), IORING_OP_SEND,
      IORING_OP_RECV (pagpadala ug pagdawat og datos sa network),
      IORING_OP_EPOLL_CTL (naghimo og mga operasyon sa mga descriptor sa epoll file).
    • Gidugang ang tawag sa sistema pidfd_getfd(), nga nagtugot sa usa ka proseso sa pagkuha og file descriptor para sa usa ka bukas nga file gikan sa laing proseso.
    • Gipatuman Ang mekanismo nga "bootconfig" nagtugot sa pag-define sa mga parameter sa kernel pinaagi sa usa ka configuration file dugang pa sa mga opsyon sa command-line. Ang bootconfig utility gidisenyo alang sa pagdugang sa maong mga file sa initramfs image. Kini nga feature magamit, pananglitan, aron ma-configure ang mga kprobes atol sa boot.
    • Gibuhat pag-usab Usa ka mekanismo sa paghulat sa datos nga masulat ug mabasa gikan sa wala nganli nga mga tubo. Kini nga pagbag-o nakapauswag sa performance alang sa mga buluhaton sama sa parallelized builds sa dagkong mga proyekto. Bisan pa, kini nga pag-optimize mahimong mosangpot sa usa ka race condition sa GNU Make tungod sa usa ka bug sa release 4.2.1, nga giayo sa bersyon 4.3.
    • Usa ka PR_SET_IO_FLUSHER flag ang gidugang sa prctl(), nga magamit aron markahan ang mga proseso nga nagpagawas sa memorya nga dili sakop sa ubos nga mga pagdili sa memorya.
    • Base sa teknolohiya nga gigamit sa Android Ang sistema sa alokasyon sa memorya sa ION adunay usa ka subsystem nga gipatuman dma-buf heaps, nga nagtugot kanimo sa pagdumala sa alokasyon sa mga DMA buffer para sa pagpaambit sa mga memory area tali sa mga driver, aplikasyon, ug lain-laing mga subsystem.
  • Mga arkitektura sa hardware
    • Gidugang ang suporta para sa E0PD extension, nga gipaila sa ARMv8.5 ug nagpahimo sa proteksyon batok sa mga pag-atake nga naglambigit sa espekulatibong pagpatuman sa mga instruksyon sa CPU. Ang proteksyon nga nakabase sa E0PD miresulta sa mas ubos nga overhead kaysa sa proteksyon sa KPTI (Kernel Page Table Isolation).
    • Ang suporta para sa instruksyon sa RNG, nga naghatag og access sa usa ka hardware pseudo-random number generator, gidugang para sa mga sistema nga gibase sa arkitektura sa ARMv8.5. Sa kernel, ang instruksyon sa RNG gigamit aron makamugna og entropy sa pag-initialize sa pseudo-random number generator nga gihatag sa kernel.
    • Gitangtang ang suporta para sa MPX (Memory Protection Extensions) nga gidugang sa kernel 3.19 ug nagtugot sa pagsusi sa mga pointer para sa pagsunod sa utlanan sa memorya. Kini nga teknolohiya wala kaylap nga gisagop sa mga compiler ug gikuha gikan sa GCC.
    • Para sa arkitektura sa RISC-V, gipatuman ang suporta para sa KASan (Kernel address sanitizer) debugging tool, nga makapahimo sa pag-ila sa mga sayop kon nagtrabaho gamit ang memorya.
  • Kagamitan
    • Gipatuman ang suporta sa espesipikasyon USB 4.0, nga gibase sa Thunderbolt 3 protocol ug naghatag og throughput nga hangtod sa 40 Gbps, samtang gipadayon ang backward compatibility sa USB 2.0 ug USB 3.2. Parehas sa Thunderbolt Ang USB 4.0 interface nagtugot sa pag-tunnel sa lain-laing mga protocol pinaagi sa usa ka cable nga adunay konektor Type-C, lakip ang PCIe, Display Port, ug USB 3.x, ingon man ang mga implementasyon sa software sa mga protocol, sama sa mga para sa pagtukod og mga link sa network tali sa mga host. Ang implementasyon gibase sa kung unsa ang nalakip na sa kernel. Linux Ang Thunderbolt driver gi-update ug gipahaom aron mogana sa mga USB4-compatible nga host ug device. Ang mga pagbag-o nagdugang usab og suporta para sa Thunderbolt 3 devices sa software implementation sa Connection Manager, nga maoy responsable sa paghimo og mga tunnel para sa pagkonektar sa daghang devices pinaagi sa usa ka port.
    • Sa drayber sa amdgpu gidugang Inisyal nga suporta para sa teknolohiya sa proteksyon sa kopya sa HDCP 2.x (High-bandwidth Digital Content Protection). Gidugang ang suporta para sa AMD Pollock ASIC chip nga gibase sa Raven 2. Gipatuman ang kapabilidad sa pag-reset sa GPU para sa mga pamilyang Renoir ug Navi.
    • Sa DRM driver para sa mga Intel graphics card gidugang Suporta sa DSI VDSC para sa mga chips nga gibase sa Ice Lake ug Tiger Lake microarchitecture, gipatuman ang LMEM mmap (device local memory), gipauswag ang VBT (Video BIOS Table) parsing, ug gipatuman ang suporta sa HDCP 2.2 para sa mga Coffee Lake chips.
    • Nagpadayon ang trabaho sa paghiusa sa amdkfd driver code (para sa mga discrete GPU sama sa Fiji, Tonga, Polaris) uban sa amdgpu driver.
    • Ang k10temp driver gi-rework aron masuportahan ang output sa boltahe ug kasamtangang mga parameter para sa mga AMD Zen CPU, ingon man ang dugang nga impormasyon gikan sa mga sensor sa temperatura nga gigamit sa Zen ug Zen 2 CPU.
    • Sa bag-ong drayber gidugang Suporta para sa napamatud-an nga firmware download mode para sa mga NVIDIA GPU nga gibase sa Turing microarchitecture (GeForce RTX 2000), nga nagtugot sa 3D acceleration support para niining mga card (nanginahanglan og pag-download sa opisyal nga firmware nga adunay digital signature gikan sa NVIDIA). Gidugang ang suporta para sa TU10x graphics engine. Nasulbad na ang mga isyu sa HD Audio.
    • Gidugang ang suporta para sa data compression kon magpadala pinaagi sa DisplayPort MST (Multi-Stream Transport).
    • Gidugang ang bag-ong drayber"ath11k» para sa mga Qualcomm wireless chips nga adunay suporta sa 802.11ax.
      Ang drayber gibase sa mac80211 stack ug nagsuporta sa access point, workstation ug mesh network node modes.
    • Ang sysfs naghatag og access sa mabasa nga mga pagbasa sa sensor sa temperatura nga gigamit sa modernong mga hard drive ug SSD.
    • Gisumite mga hinungdanon nga pagbag-o sa sistema sa tunog sa ALSA nga nagtumong sa pagpagawas sa code gikan sa mga problema sa 2038 (mobiya na sa paggamit sa 32-bit time_t type sa snd_pcm_mmap_status ug snd_pcm_mmap_control interfaces). Gidugang ang suporta para sa bag-ong mga audio codec.
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.
    • Gidugang mga drayber para sa mga LCD panel Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Hait nga LS020B1DD01D.
    • Gidugang Suporta para sa mga ARM board ug Gen1 platform: Amazon Echo (base sa OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 eBook reader,
      Mga Naka-embed nga Artista COM (i.MX7ULP), SolidRun Clearfog CX/ITX ug HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863A, Qualcomm SC7180. Gidugang ang suporta para sa PCIe controller nga gigamit sa Raspberry Pi 4.

Sa samang higayon, ang Latin American Free Software Foundation naporma
kapilian bug-os nga libre nga kernel 5.6 - Linux-libre 5.6-gnu, gilimpyohan sa mga elemento sa firmware ug driver nga adunay proprietary components o mga seksyon sa code nga adunay limitado nga sakup. Ang bag-ong pagpagawas nag-disable sa blob loading sa mga driver para sa AMD TEE, ATH11K, ug Mediatek SCP. Ang blob cleaning code gi-update para sa mga driver ug subsystem sa AMD PSP, amdgpu, ug nouveau.

Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster