Linux Kernel lage 5.6

Apre de mwa nan devlopman, Linus Torvalds entwodwi lage nwayo Linux 5.6. Pami chanjman ki pi remakab yo: entegrasyon koòdone WireGuard VPN, sipò pou USB4, espas non pou tan, kapasite pou kreye moun kap okipe konjesyon TCP lè l sèvi avèk BPF, sipò inisyal pou MultiPath TCP, debarase nwayo a nan pwoblèm 2038 la, mekanis "bootconfig" la. , ZoneFS.

Nouvo vèsyon an gen ladan 13702 repare soti nan 1810 devlopè,
gwosè patch - 40 MB (chanjman ki afekte 11577 fichye, 610012 liy kòd yo te ajoute,
294828 ranje retire). Apeprè 45% nan tout prezante nan 5.6
chanjman yo gen rapò ak chofè aparèy, apeprè 15% nan chanjman yo genyen
atitid anvè ajou kòd espesifik nan achitekti pyès ki nan konpitè, 12%
ki asosye ak pile rezo a, 4% ak ​​sistèm dosye ak 3% ak entèn yo
subsistèm nwayo.

Prensipal la inovasyon:

  • Sou-sistèm rezo
    • Te ajoute aplikasyon yon koòdone VPN WireGuard, ki se aplike ki baze sou metòd modèn chifreman (ChaCha20, Poly1305, Curve25519, BLAKE2s), se fasil yo sèvi ak, gratis nan konplikasyon, li te pwouve tèt li nan yon kantite aplikasyon gwo epi li bay pèfòmans trè wo (3,9 fwa pi vit pase OpenVPN an tèm. nan debi). WireGuard sèvi ak konsèp nan routage kle chifreman, ki enplike tache yon kle prive nan chak koòdone rezo epi sèvi ak li yo mare kle piblik yo. Kle piblik yo echanje pou etabli yon koneksyon nan yon fason ki sanble ak SSH. Primitiv kriptografik obligatwa pou WireGuard travay Nou te pote sou soti nan bibliyotèk la zenk kòm yon pati nan estanda Crypto API a ak enkli nan nwayo a 5.5.
    • Te kòmanse entegrasyon konpozan ki nesesè pou sipòte MPTCP (MultiPath TCP), yon ekstansyon nan pwotokòl TCP pou òganize operasyon an nan yon koneksyon TCP ak livrezon an nan pake ansanm sou plizyè wout atravè diferan koòdone rezo ki asosye ak adrès IP diferan. Pou aplikasyon rezo, tankou yon koneksyon total sanble yon koneksyon TCP regilye, epi tout lojik separasyon koule yo fèt pa MPTCP. Multipath TCP ka itilize tou de ogmante debi ak ogmante fyab. Pou egzanp, MPTCP ka itilize pou òganize transmisyon done sou yon smartphone lè l sèvi avèk lyen WiFi ak 4G an menm tan, oswa pou diminye depans lè w konekte yon sèvè lè l sèvi avèk plizyè lyen bon mache olye de yon sèl chè.
    • Te ajoute sipò pou rezo a keu pwosesis disiplin sch_ets (Seleksyon transmisyon amelyore, IEEE 802.1Qaz), ki bay kapasite pou distribye Pleasant ant diferan klas trafik. Si chaj la sou yon klas trafik an patikilye pi ba pase Pleasant atribye ba a, Lè sa a, ETS a pèmèt lòt klas trafik yo sèvi ak Pleasant ki disponib (ki pa itilize). Qdisc sch_ets konfigirasyon kòm yon disiplin PRIO epi li itilize klas trafik yo pou defini limit bandwidth strik ak pataje. ETS travay kòm yon konbinezon de disiplin PRIO и DRR — si gen klas trafik ki limite, yo itilize PRIO, men si pa gen trafik nan keu a, li travay tankou DRR.
    • Te ajoute yon nouvo kalite pwogram BPF BPF_PROG_TYPE_STRUCT_OPS, ki pèmèt ou aplike moun kap okipe fonksyon nwayo atravè BPF. Kounye a, karakteristik sa a ka deja itilize pou aplike algoritm kontwòl konjesyon TCP nan fòm pwogram BPF. Kòm yon egzanp pwopoze Pwogram BPF ak aplikasyon algorithm DCTCP.
    • Aksepte nan nwayo a chanjman, zouti tradui ettool ak ioctl() pou itilize koòdone netlink. Nouvo koòdone a fè li pi fasil pou ajoute ekstansyon, amelyore manyen erè, pèmèt notifikasyon yo dwe voye lè eta chanje, senplifye entèraksyon ki genyen ant nwayo a ak espas itilizatè a, epi redwi kantite lis nonmen ki bezwen senkronize.
    • Te ajoute aplikasyon FQ-PIE (Flow Queue PIE) algorithm jesyon keu rezo a, ki vize a diminye enpak negatif nan tanpon pake entèmedyè sou ekipman rezo kwen (bufferbloat). FQ-PIE demontre efikasite segondè lè yo itilize nan sistèm ak modèm kab.
  • Disk Subsystem, I/O ak File Systems
    • Pou sistèm dosye Btrfs te ajoute aplikasyon asynchrone operasyon DISCARD (marke blòk libere ki pa bezwen fizikman estoke ankò). Okòmansman, operasyon DISCARD yo te fèt synchrone, ki ta ka mennen nan degradasyon pèfòmans akòz kondui yo ap tann pou kòmandman korespondan yo fini. Aplikasyon asynchrone pèmèt ou pa tann pou kondwi a fini DISCARD epi fè operasyon sa a nan background nan.
    • Nan XFS te pote soti Netwaye kòd ki te itilize ansyen kontè tan 32-bit (tip time_t la ranplase pa time64_t), ki mennen nan pwoblèm 2038 la. Fiks erè ak koripsyon memwa ki te fèt sou tribin 32-bit. Kòd la te retravay pou travay ak atribi pwolonje.
    • Pou sistèm fichye ext4 prezante Optimize pèfòmans ki gen rapò ak manyen bloke inode pandan operasyon lekti ak ekri. Amelyore pèfòmans reekri nan mòd dirèk I/O. Pou senplifye dyagnostik pwoblèm yo, premye ak dènye kòd erè yo estoke nan superblok la.
    • Sou sistèm dosye F2FS la aplike kapasite nan estoke done nan fòm konprese. Pou yon fichye endividyèl oswa anyè, konpresyon yo ka aktive lè l sèvi avèk kòmandman "chattr +c fichye" oswa "chattr +c dir; manyen dir/file". Pou konprese tout patisyon an, ou ka itilize opsyon "-o compress_extension=ext" nan sèvis piblik mòn lan.
    • Kernel la gen ladan yon sistèm dosye ZoneFS, ki senplifye travay ba-nivo ak aparèy depo sektè yo. Kondwi zòn nan vle di aparèy ki sou disk mayetik difisil oswa SSD NVMe, espas depo nan ki divize an zòn ki fòme gwoup blòk oswa sektè, kote sèlman adisyon sekans nan done yo pèmèt, mete ajou tout gwoup la nan blòk. FS ZoneFS te devlope pa Western Digital ak asosye chak zòn nan kondwi a ak yon dosye separe ki ka itilize nan magazen done nan mòd anvan tout koreksyon san yo pa manipilasyon nan nivo sektè a ak blòk, i.e. Pèmèt aplikasyon yo sèvi ak API fichye a olye pou yo gen aksè dirèkteman nan aparèy blòk la lè l sèvi avèk yon ioctl.
    • Nan NFS, aliye patisyon sou UDP enfim pa default. Te ajoute sipò pou kapasite pou kopi dirèkteman fichye ant serveurs, ki defini nan spesifikasyon NFS 4.2. Te ajoute yon nouvo opsyon mòn "softreval", ki pèmèt valè atribi kachèt yo dwe itilize nan ka ta gen echèk sèvè. Pou egzanp, lè yo espesifye opsyon sa a, apre sèvè a pa disponib, li rete posib pou avanse pou pi sou chemen yo nan patisyon NFS la ak aksè enfòmasyon ki te etabli nan kachèt la.
    • Te pote soti optimize nan pèfòmans nan mekanis nan fs-verity, yo itilize kontwole entegrite a ak otantifikasyon nan dosye endividyèl elèv yo. Ogmante vitès lekti sekans gras a itilizasyon yon pye bwa Hash Merkle. Yo te optimize pèfòmans FS_IOC_ENABLE_VERITY lè pa gen okenn done nan kachèt la (yo te aplike lekti prevantif nan paj ki gen done).
  • Virtualization ak sekirite
    • Kapasite pou enfim modil SELinux la pandan y ap kouri te obsolète, epi dechaje yon SELinux ki deja aktive pral entèdi nan lavni. Pou enfim SELinux w ap bezwen pase paramèt "selinux=0" sou liy kòmand nwayo a.
    • Te ajoute sipò pou namespaces pou tan (time namespaces), ki pèmèt ou mare eta a nan revèy sistèm nan nan veso a (CLOCK_REALTIME,
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), sèvi ak pwòp tan ou nan veso a epi, lè w ap imigre veso a nan yon lòt lame, asire w ke lekti CLOCK_MONOTONIC ak CLOCK_BOOTTIME yo rete san okenn chanjman (pran an konsiderasyon tan apre chajman an, avèk oswa san yo pa konsidere lè w nan mòd dòmi. ).

    • Yo retire pisin bloke /dev/random. Konpòtman /dev/random sanble ak /dev/urandom an tèm de anpeche bloke entropi apre inisyalizasyon pisin.
    • Kernel debaz la gen ladan yon chofè ki pèmèt sistèm envite yo kouri VirtualBox monte anyè ekspòte pa anviwònman lame a (VirtualBox Shared Folder).
    • Yo te ajoute yon seri plak nan subsistèm BPF (BPF dispatcher), lè w ap itilize mekanis Retpoline pou pwoteje kont atak klas Spectre V2, li pèmèt ou ogmante efikasite nan rele pwogram BPF lè evènman ki asosye ak yo rive (pa egzanp, li fè li posib pou akselere apèl nan moun k ap okipe XDP lè yon pake rezo rive).
    • Te ajoute chofè pou sipòte TEE (Trusted Execution Environment) ki te konstwi nan APU AMD yo.
  • Sèvis memwa ak sistèm
    • BPF te ajoute sipò pou fonksyon mondyal yo. Devlopman ap fèt nan kad yon inisyativ pou ajoute sipò pou bibliyotèk fonksyon ki ka enkli nan pwogram BPF. Pwochen etap la pral sipòte ekstansyon dinamik ki pèmèt fonksyon mondyal yo dwe chaje, tankou ranplase fonksyon mondyal ki deja egziste pandan y ap itilize yo. Sou-sistèm BPF la tou ajoute sipò pou yon variant de operasyon kat jeyografik (yo itilize pou estoke done ki pèsistan), ki sipòte ekzekisyon nan mòd pakèt.
    • Te ajoute Aparèy "cpu_cooling" la pèmèt ou refwadi yon CPU ki chofe lè w mete l nan eta san fè anyen konsa pou yon ti tan.
    • Te ajoute apèl sistèm openat2(), ki ofri yon seri drapo adisyonèl pou limite rezolisyon chemen fichye (entèdiksyon pou travèse pwen mòn yo, lyen senbolik, lyen majik (/proc/PID/fd), konpozan "../").
    • Pou sistèm etewojèn ki baze sou gwo.LITTLE achitekti, konbine nwayo CPU pwisan ak mwens efikas enèji-efikas nan yon sèl chip, paramèt uclamp_min yo mete lè yo egzekite travay an tan reyèl (parèt nan Kernel 5.3 gen yon mekanis pou sekirize chaj la). Paramèt sa a asire ke planifikatè a pral mete travay la sou yon nwayo CPU ki gen ase pèfòmans.
    • Kernel la libere de pwoblèm nan 2038. Ranplase dènye moun kap okipe yo, ki te itilize 32-bit (siyen int) kalite time_t pou kontwa tan epòk la, ki, pran an kont rapò a soti nan 1970, ta dwe debòde nan 2038.
    • Kontinye amelyorasyon nan koòdone I/O asynchrone a io_uring, kote bay sipò pou nouvo operasyon: IORING_OP_FALLOCATE (rezèvasyon zòn vid), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (ouvèti ak fèmen fichye yo),
      IORING_OP_FILES_UPDATE (ajoute epi retire fichye nan lis aksè rapid la),
      IORING_OP_STATX (demann enfòmasyon sou dosye),
      IORING_OP_READ,
      IORING_OP_WRITE (analòg senplifye nan IORING_OP_READV ak IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (variante asynchrone nan apèl posix_fadvise ak madvise), IORING_OP_SEND,
      IORING_OP_RECV (voye ak resevwa done rezo),
      IORING_OP_EPOLL_CTL (fè operasyon sou deskriptè fichye epoll).

    • Te ajoute apèl sistèm pidfd_getfd(), ki pèmèt yon pwosesis rekipere yon deskriptè fichye pou yon dosye louvri soti nan yon lòt pwosesis.
    • Aplike mekanis "bootconfig" la, ki pèmèt, anplis opsyon liy lòd, detèmine paramèt nwayo a atravè yon dosye paramèt. Pou ajoute dosye sa yo nan imaj initramfs la, yo pwopoze sèvis piblik bootconfig la. Karakteristik sa a ka itilize, pou egzanp, konfigirasyon kprobes nan moman demaraj.
    • Redesine yon mekanis pou tann pou ekri ak lekti done nan tiyo san non. Chanjman an te fè li posib pou pi vit travay tankou asanble paralèl gwo pwojè yo. Sepandan, optimize ka mennen nan yon kondisyon ras nan GNU fè akòz yon ensèk nan lage 4.2.1 la, ki te fiks nan vèsyon 4.3.
    • Te ajoute PR_SET_IO_FLUSHER drapo a nan prctl(), ki ka itilize pou make pwosesis san memwa ki pa ta dwe sijè a limit lè sistèm nan pa gen anpil memwa.
    • Ki baze sou sistèm distribisyon memwa ION yo itilize nan android, yo te aplike yon subsistèm dma-buf pil, ki pèmèt ou kontwole alokasyon tanpon DMA pou pataje zòn memwa ant chofè yo, aplikasyon pou ak divès kalite subsistèm.
  • Achitekti pyès ki nan konpitè
    • Te ajoute sipò pou ekstansyon E0PD, ki te parèt nan ARMv8.5 epi ki pèmèt pwoteksyon kont atak ki gen rapò ak ekzekisyon spéculatif enstriksyon sou CPU a. Pwoteksyon ki baze sou E0PD rezilta nan pi ba anlè pase pwoteksyon KPTI (Kernel Page Table Isolation).
    • Pou sistèm ki baze sou achitekti ARMv8.5, sipò pou enstriksyon RNG yo te ajoute, bay aksè a yon dèlko nimewo pseudo-o aza pyès ki nan konpitè. Nan nwayo a, yo itilize enstriksyon RNG pou jenere entropi lè inisyalize dèlko nimewo pseudo-o aza ki bay nwayo a.
    • Retire sipò pou MPX (Memory Protection Extensions) te ajoute nan nwayo a 3.19 epi pèmèt ou òganize tcheke endikasyon pou asire ke limit zòn memwa yo respekte. Teknoloji sa a pa te lajman itilize nan konpilateur epi yo te retire nan GCC.
    • Pou achitekti RISC-V, sipò pou zouti debogaj KASan (Kernel address sanitizer) te aplike, ki ede idantifye erè lè w ap travay ak memwa.
  • Ekipman
    • Sipò spesifikasyon aplike USB 4.0, ki baze sou pwotokòl Thunderbolt 3 la epi li bay debi jiska 40 Gbps, pandan y ap kenbe konpatibilite bak ak USB 2.0 ak USB 3.2. Pa analoji ak Tonèr USB 4.0 koòdone pèmèt ou tinèl pwotokòl diferan sou yon sèl kab ak yon konektè Kalite-C, ki gen ladan PCIe, Display Port ak USB 3.x, osi byen ke aplikasyon lojisyèl nan pwotokòl, pou egzanp, pou òganize lyen rezo ant lame yo. Aplikasyon an baze sou chofè Thunderbolt ki deja enkli nan nwayo Linux la epi adapte li pou travay ak aparèy ak aparèy ki konpatib USB4. Chanjman yo tou ajoute sipò pou aparèy Thunderbolt 3 nan aplikasyon lojisyèl Manadjè Koneksyon an, ki responsab pou kreye tinèl pou konekte plizyè aparèy atravè yon sèl konektè.
    • Nan chofè amdgpu te ajoute sipò inisyal pou teknoloji pwoteksyon kopi HDCP 2.x (High-bandwidth Digital Content Protection). Te ajoute sipò pou chip AMD Pollock ASIC ki baze sou Raven 2. Aplike kapasite pou reset GPU pou fanmi Renoir ak Navi.
    • Driver DRM pou kat videyo Intel te ajoute DSI VDSC sipò pou chips ki baze sou Ice Lake ak Tiger Lake microarchitecture, LMEM mmap (memwa lokal aparèy) te aplike, VBT (Videyo BIOS Table) parsing te amelyore, HDCP 2.2 sipò te aplike pou chips Coffee Lake.
    • Travay te kontinye sou inifye kòd chofè amdkfd (pou GPU disrè, tankou Fidji, Tonga, Polaris) ak chofè amdgpu a.
    • Chofè k10temp la te retravay, ajoute sipò pou montre paramèt vòltaj ak aktyèl pou CPU AMD Zen, osi byen ke enfòmasyon elaji ki soti nan detèktè tanperati yo itilize nan CPU Zen ak Zen 2.
    • Nan nouvo chofè a te ajoute sipò pou verifye mòd loading firmwèr pou NVIDIA GPU ki baze sou mikwochitekti Turing (GeForce RTX 2000), ki te fè li posib pou pèmèt sipò pou akselerasyon 3D pou kat sa yo (telechaje firmwèr ofisyèl ak yon siyati dijital NVIDIA obligatwa). Te ajoute sipò pou motè grafik TU10x la. Pwoblèm ak HD Audio yo te rezoud.
    • Te ajoute sipò pou konpresyon done lè transmèt atravè DisplayPort MST (Multi-Stream Transpò).
    • Te ajoute nouvo chofè "ath11k» pou chips Qualcomm san fil sipòte 802.11ax.
      Chofè a baze sou pile mac80211 la epi li sipòte mòd pwen aksè, estasyon travay ak may rezo ne.

    • Atravè sysfs, yo bay aksè a lekti detèktè tanperati ki lizib yo itilize sou disk modèn ak SSD.
    • Soumèt chanjman enpòtan nan sistèm son ALSA, ki vize a debarase kòd la nan pwoblèm nan 2038 (Evite itilizasyon 32-bit time_t kalite nan snd_pcm_mmap_status ak snd_pcm_mmap_control interfaces). Te ajoute sipò pou nouvo codecs odyo
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.

    • Te ajoute chofè pou panno LCD lojik PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Sharp LS020B1DD01D.

    • Te ajoute sipò pou tablo ARM ak platfòm Gen1 Amazon Echo (OMAP3630 ki baze sou), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Modèl B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 lektè eBook,
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX ak 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 SC9863, Qualification SC7180. Te ajoute sipò pou kontwolè PCIe yo itilize nan Raspberry Pi 4.

An menm tan an, Fondasyon Lojisyèl Libète Amerik Latin nan fòme
opsyon konplètman gratis nwayo 5.6 - Linux-libre 5.6-gnu, otorize nan firmwèr ak eleman chofè ki gen eleman ki pa gratis oswa seksyon kòd, dimansyon ki limite pa manifakti a. Nouvo lage a enfim chaje blob nan chofè pou AMD TEE, ATH11K ak Mediatek SCP. Mete ajou kòd netwayaj blob nan AMD PSP, amdgpu ak nouvo chofè ak subsystems.

Sous: opennet.ru

Add nouvo kòmantè