Kutulutsidwa kwa kernel ya Linux 5.2

Pambuyo pa miyezi iwiri ya chitukuko, Linus Torvalds anayambitsa kutulutsidwa kwa kernel Linux 5.2. Zina mwazosintha zowoneka bwino: Ext4 machitidwe opangira ndi osakhudzidwa, makina osiyana amayitanitsa kukwera kwamafayilo, madalaivala a GPU Mali 4xx/ 6xx/7xx, kutha kuthana ndi kusintha kwa sysctl mu mapulogalamu a BPF, chipangizo-mapper. module dm-fumbi, kuteteza motsutsana ndi MDS, kuthandizira kwa Sound Open Firmware ya DSP, kukhathamiritsa kwa magwiridwe antchito a BFQ, kubweretsa kachitidwe ka PSI (Pressure Stall Information) kuti igwiritsidwe ntchito pa Android.

Mtundu watsopanowu ukuphatikiza zosintha 15100 kuchokera kwa opanga 1882,
kukula kwa chigamba - 62 MB (zosintha zinakhudza mafayilo a 30889, mizere ya 625094 ya code inawonjezeredwa, mizere ya 531864 inachotsedwa). Pafupifupi 45% ya onse operekedwa mu 5.2
zosintha zokhudzana ndi madalaivala a chipangizo, pafupifupi 21% ya zosintha ndizo
malingaliro okhudza kukonzanso kachidindo kamangidwe ka hardware, 12%
zokhudzana ndi stack network, 3% ku mafayilo amafayilo ndi 3% mkati
kernel subsystems. 12.4% ya zosintha zonse zidakonzedwa ndi Intel, 6.3% ndi Red Hat, 5.4% ndi Google, 4.0% ndi AMD, 3.1% ndi SUSE, 3% ndi IBM, 2.7% ndi Huawei, 2.7% ndi Linaro, 2.2% ndi ARM , 1.6 % - Oracle.

waukulu zatsopano:

  • Disk Subsystem, I/O ndi File Systems
    • Zowonjezeredwa ku Ext4 thandizo gwirani ntchito popanda kusiyanitsa mawonekedwe a zilembo zamafayilo, omwe amangotsegulidwa pokhudzana ndi zolemba zopanda kanthu pogwiritsa ntchito mawonekedwe atsopano "+F" (EXT4_CASEFOLD_FL). Izi zikakhazikitsidwa pa bukhu, ntchito zonse zomwe zili ndi mafayilo ndi zigawo zing'onozing'ono mkati zidzachitidwa popanda kuganizira za otchulidwa, kuphatikizapo mlanduwo udzanyalanyazidwa pofufuza ndi kutsegula mafayilo (mwachitsanzo, mafayilo Test.txt, test.txt ndi test.TXT m'makanema oterowo aziganiziridwa chimodzimodzi). Mwachikhazikitso, mafayilo amafayilo akupitirizabe kukhala okhudzidwa ndi zochitika, kupatulapo zolemba zomwe zili ndi "chattr +F";
    • Ntchito zopangira zilembo za UTF-8 m'mayina a mafayilo, omwe amagwiritsidwa ntchito poyerekezera zingwe ndi ntchito zokhazikika, zalumikizidwa;
    • XFS imawonjezera zida zowunikira zaumoyo wamafayilo ndi ioctl yatsopano yofunsa za thanzi. Ntchito yoyesera yakhazikitsidwa kuti muwone ma superblock counters pa intaneti.
    • Adawonjezera chida chatsopano cha module "dm-fumbi", zomwe zimakupatsani mwayi wofananiza mawonekedwe a midadada oyipa pazofalitsa kapena zolakwika powerenga pa disk. Gawoli limakupatsani mwayi wochepetsera zolakwika ndikuyesa mapulogalamu ndi machitidwe osiyanasiyana osungira pamaso pa zolephera zomwe zingatheke;
    • Zidachitidwa Kukhathamiritsa kwakukulu kwa magwiridwe antchito a BFQ I/O scheduler. M'malo okhala ndi kuchuluka kwa I/O, kukhathamiritsa kumapangidwa lolani Chepetsani nthawi yogwira ntchito monga kuyambitsa mapulogalamu mpaka 80%.
    • Onjezani ma foni angapo pamakina oyika mafayilo: fsopen (), open_tree(), fspick (), fsmount (), fsconfig () ΠΈ move_mount(). Kuyimba kwamakinawa kumakupatsani mwayi wokonza padera magawo osiyanasiyana oyika (konzani superblock, pezani zambiri zamafayilo, kukwera, kulumikiza pamalo okwera), zomwe zidachitika kale pogwiritsa ntchito foni yamtundu wa mount() system. Mafoni apadera amapereka kuthekera kochita zochitika zovuta kwambiri zokwera ndikuchita zinthu zosiyana monga kukonzanso superblock, kuthandizira zosankha, kusintha malo okwera, ndikupita kumalo ena a mayina. Kuphatikiza apo, kukonza kosiyana kumakupatsani mwayi wodziwa bwino zifukwa zotulutsira ma code olakwika ndikuyika magwero angapo amitundu yamafayilo amitundu yambiri, monga overlayfs;
    • Opareshoni yatsopano IORING_OP_SYNC_FILE_RANGE yawonjezedwa pamawonekedwe a asynchronous I/O io_uring, yomwe imachita zofanana ndi kuyimba foni. kulunzanitsa_fayilo_range(), ndikukhazikitsanso kuthekera kolembetsa eventfd ndi io_uring ndi kulandira zidziwitso zakutha kwa ntchito;
    • Pamafayilo a CIFS, ioctl ya FIEMAP yawonjezedwa, ndikupereka mapu oyenerera, komanso kuthandizira mitundu ya SEEK_DATA ndi SEEK_HOLE;
    • Mu FUSE subsystem analimbikitsa API yoyang'anira caching data;
    • Btrfs yakonza kukhazikitsa kwa qgroups ndikuwongolera kuthamanga kwa fsync kwa mafayilo okhala ndi maulalo olimba angapo. Khodi yoyang'ana kukhulupirika kwa data yasinthidwa, yomwe tsopano ikuganizira kuwonongeka kwa chidziwitso mu RAM musanayambe kusuntha deta ku disk;
    • CEPH idawonjezera chithandizo chotumizira zithunzithunzi kudzera pa NFS;
    • Kukhazikitsa kwa NFSv4 kukwera mu "zofewa" mode kwasinthidwa (ngati cholakwika chikachitika pakupeza seva munjira "yofewa", kuyimba kuti kubweze nthawi yomweyo cholakwika, ndipo mu "zovuta" kuwongolera sikuperekedwa mpaka FS. kupezeka kapena kutha kwa nthawi kwabwezeretsedwa). Kutulutsidwa kwatsopano kumapereka kuwongolera kolondola kwanthawi yayitali, kuchira mwachangu, ndi njira yatsopano yokwezera "softerr" yomwe imakulolani kuti musinthe khodi yolakwika (ETIMEDOUT) yobwereranso pakatha nthawi;
    • API ya nfsdcld, yopangidwa kuti iwonetsetse momwe makasitomala a NFS alili, imalola seva ya NFS kuti iwonetsetse bwino momwe kasitomala alili poyambiranso. Chifukwa chake, daemon ya nfsdcld tsopano ikhoza kuchita ngati wothandizira nfsdcltrack;
    • Kwa AFS anawonjezera kutsanzira ma byte range locks mu mafayilo (Kutseka kwa Byte Range);
  • Virtualization ndi Chitetezo
    • Ntchito yachitidwa kuti athetse malo omwe ali mu kernel omwe amalola kuphedwa kwa ma code kuchokera kumalo okumbukira olembedwa, omwe amalola kutsekereza mabowo omwe angagwiritsidwe ntchito poukira;
    • Mzere watsopano wa kernel command "mitigations=" wawonjezedwa, ndikupereka njira yosavuta yowongolera kuthekera kwa njira zina zodzitetezera ku ziwopsezo zomwe zimagwirizanitsidwa ndi kuperekedwa mongopeka kwa malangizo pa CPU. Kudutsa "mitigations=off" kumalepheretsa njira zonse zomwe zilipo, ndipo njira yokhazikika "mitigations=auto" imathandizira chitetezo koma sichimakhudza kugwiritsa ntchito Hyper Threading. Njira ya "mitigations=auto,nosmt" imayimitsanso Hyper Threading ngati ikufunika ndi njira yoteteza.
    • Zowonjezedwa kuthandizira siginecha yamagetsi yamagetsi molingana ndi GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), otukuka Vitaly Chikunov, Basalt SPO. Thandizo lowonjezera la AES128-CCM pakukhazikitsa kwa TLS. Thandizo lowonjezera la ma algorithms a AEAD ku crypto_simd module;
    • Mu Kconfig anawonjezera gawo lapadera la "kernel harding" lomwe lili ndi zosankha zopititsa patsogolo chitetezo cha kernel. Pakadali pano, gawo latsopanoli lili ndi zoikamo zokha zothandizira mapulagini owonjezera a GCC;
    • Khodi ya kernel yatsala pang'ono kuperekedwa kuchokera ku ziganizo zosasweka pakusintha (popanda kubwerera kapena kusweka pambuyo pa chipika chilichonse). Zimakhalabe kukonza 32 mwa 2311 milandu yogwiritsira ntchito kusintha koteroko, pambuyo pake zidzatheka kugwiritsa ntchito "-Wimplicit-fallthrough" mode pomanga kernel;
    • Pazomangamanga za PowerPC, kuthandizira njira zama Hardware zochepetsera njira zosafunikira za kernel ku data mu malo ogwiritsa ntchito zakhazikitsidwa;
    • Khodi yoletsa yowonjezeredwa kuwukira MDS (Microarchitectural Data Sampling) mu Intel processors. Mutha kuwona ngati dongosolo lili pachiwopsezo chosokonekera kudzera mukusintha kwa SysFS "/sys/devices/system/cpu/vulnerabilities/mds". Kupezeka njira ziwiri zodzitetezera: zodzaza, zomwe zimafunikira ma microcode osinthidwa, ndi bypass, zomwe sizimatsimikizira kuchotsedwa kwa ma buffers a CPU pamene kuwongolera kumasamutsidwa kumalo ogwiritsira ntchito kapena kachitidwe ka alendo. Kuti muwongolere njira zodzitchinjiriza, gawo la "mds="" lawonjezeredwa ku kernel, lomwe limatha kutenga "zambiri", "full,nosmt" (+ zimitsani Hyper-Threads) ndi "off";
    • Pa machitidwe a x86-64, chitetezo cha "stack guard-page" chawonjezedwa kwa IRQ, njira zowonongeka ndi zogwiritsira ntchito zosiyana, zomwe zimatengera kulowetsa masamba a kukumbukira pamalire ndi stack, yomwe imatsogolera ku mbadwo wa kupatula (zolakwika patsamba);
    • Anawonjezera sysctl setting vm.unprivileged_userfaultfd, yomwe imayang'anira kuthekera kwa njira zopanda mwayi kugwiritsa ntchito foni ya userfaultfd ();
  • Network subsystem
    • Zowonjezedwa IPv6 chipata chothandizira njira za IPv4. Mwachitsanzo, mutha kufotokoza malamulo oyendetsera monga "ip ro add 172.16.1.0/24 kudzera innet6 2001:db8::1 dev eth0";
    • Kwa ICMPv6, ioctl imayimba icmp_echo_ignore_anycast ndi icmp_echo_ignore_multicast ikugwiritsidwa ntchito kunyalanyaza ICMP ECHO kwa aliyense komanso
      ma adilesi ambiri. Zowonjezedwa Kutha kuchepetsa kukula kwa ICMPv6 packet processing;

    • Kwa ma protocol a BATMAN (Better Approach To Mobile Adhoc Networking), omwe amalola kuti pakhale ma netiweki omwe amalumikizana ndi ma node oyandikana nawo, anawonjezera kuthandizira kuwulutsa kuchokera ku ma multicast kupita ku unicast, komanso kutha kuwongolera kudzera pa sysfs;
    • Mu ethtool anawonjezera gawo latsopano la Fast Link Down, lomwe limakupatsani mwayi wochepetsera nthawi kuti mulandire chidziwitso chokhudza ulalo pansi pa 1000BaseT (munthawi yabwinoko kuchedwa kumafika 750ms);
    • Zawonekera mwayi kumanga tunnel za Foo-Over-UDP ku adilesi inayake, mawonekedwe a netiweki kapena socket (kumanga kale kunkachitidwa ndi chigoba wamba);
    • Mu chopanda opanda zingwe kupereka mwayi wokhazikitsa othandizira
      OWE (Mwayi Wopanda Ma waya) mu malo ogwiritsa ntchito;

    • Mu Netfilter, chithandizo cha banja la adilesi ya inet chawonjezedwa ku unyolo wa nat (mwachitsanzo, mutha kugwiritsa ntchito lamulo limodzi lomasulira kukonza ipv4 ndi ipv6, osalekanitsa malamulo a ipv4 ndi ipv6);
    • Mu netlink anawonjezera boma okhwima kuti atsimikizire kulondola kwa mauthenga onse ndi zikhumbo, momwe kukula kwa makhalidwe sikuloledwa kupyola ndipo kuwonjezera kwa deta yowonjezereka kumapeto kwa mauthenga ndikoletsedwa;
  • Memory ndi ntchito zadongosolo
    • Mbendera ya CLONE_PIDFD yawonjezedwa ku foni ya clone(), ikatchulidwa, chofotokozera fayilo "pidfd" chodziwika ndi njira yopangidwa ndi mwana chimabwezeretsedwa ku njira ya makolo. Mafotokozedwe a fayiloyi, mwachitsanzo, angagwiritsidwe ntchito kutumiza zizindikiro popanda kuopa kuthamanga mumpikisano wamtundu (mwamsanga mutatha kutumiza chizindikiro, cholinga cha PID chikhoza kumasulidwa chifukwa cha kutha kwa ndondomeko ndikukhala ndi ndondomeko ina);
    • Pagulu lachiwiri lamagulu, magwiridwe antchito owongolera mafiriji awonjezedwa, omwe mutha kuyimitsa ntchito pagulu ndikumasula kwakanthawi zinthu zina (CPU, I / O, komanso kukumbukira) kuti mugwire ntchito zina. Kuwongolera kumachitika kudzera mu fayilo ya cgroup.freeze ndi cgroup.events mumtengo wamagulu. Lowetsani 1 mu cgroup.freeze amaundana njira mugulu lomwe lilipo komanso magulu onse a ana. Popeza kuzizira kumatenga nthawi, fayilo yowonjezera ya cgroup.events imaperekedwa kudzera momwe mungadziwire za kutha kwa ntchitoyo;
    • Wotetezedwa kutumiza kunja kwa kukumbukira kukumbukira komwe kumalumikizidwa ndi node iliyonse mu sysfs, yomwe imakupatsani mwayi wodziwa kuchokera kumalo ogwiritsira ntchito momwe mungasungire mabanki okumbukira m'makina omwe ali ndi kukumbukira kosasinthika;
    • Dongosolo la PSI (Pressure Stall Information) lasinthidwa, lomwe limakupatsani mwayi wosanthula zambiri za nthawi yodikirira kuti mulandire zinthu zosiyanasiyana (CPU, memory, I/O) pazantchito zina kapena ma seti amagulu pagulu. Pogwiritsa ntchito PSI, oyang'anira malo a ogwiritsa ntchito amatha kuyerekeza molondola kuchuluka kwa katundu wadongosolo ndi njira zochepetsera poyerekeza ndi Load Average. Mtundu watsopanowu umapereka chithandizo pakukhazikitsa zidziwitso komanso kuthekera kogwiritsa ntchito poll() kuyimba kuti mulandire zidziwitso kuti zolowera zakhazikitsidwa kwa nthawi yayitali. Izi zimalola Android kuyang'anira kuchepa kwa makumbukidwe koyambirira, kuzindikira komwe kumayambitsa mavuto ndikuletsa ntchito zosafunikira popanda kuyambitsa zovuta zomwe zimawonekera kwa wogwiritsa ntchito. Poyesa kupsinjika, zida zowunikira kukumbukira zogwiritsa ntchito PSI zidawonetsa nthawi 10 zabwino zabodza zocheperako poyerekeza ndi ziwerengero za vmpressure;
    • Khodi yowunikira mapulogalamu a BPF yakonzedwa bwino, zomwe zimalola kuyang'ana mwachangu nthawi 20 pamapulogalamu akulu. Kukhathamiritsa kunapangitsa kuti akweze malire pa kukula kwa mapulogalamu a BPF kuchokera ku 4096 kupita ku malangizo miliyoni;
    • Kwa mapulogalamu a BPF kupereka kuthekera kofikira deta yapadziko lonse lapansi, yomwe imakulolani kufotokozera zosinthika zapadziko lonse lapansi ndi zokhazikika pamapulogalamu;
    • Awonjezedwa API, zomwe zimakupatsani mwayi wowongolera kusintha kwa magawo a sysctl kuchokera ku mapulogalamu a BPF;
    • Pazomangamanga za MIPS32, wopanga JIT wamakina a eBPF wakhazikitsidwa;
    • Pazomangamanga za 32-bit PowerPC, chithandizo cha KASan (Kernel address sanitizer) chida chowongolera chawonjezedwa, chomwe chimathandiza kuzindikira zolakwika pogwira ntchito ndi kukumbukira;
    • Pa machitidwe a x86-64, chiletso choyika zinyalala za boma panthawi ya ngozi ya kernel (kutaya-kutaya) m'malo okumbukira pamwamba pa 896MB chachotsedwa;
    • Pazomangamanga za s390, kuthandizira kwa kernel address space randomization (KASLR) ndi kuthekera kotsimikizira siginecha ya digito mukatsitsa kernel kudzera kexec_file_load() zimakhazikitsidwa;
    • Pazomangamanga za PA-RISC, chithandizo chowonjezera cha kernel debugger (KGDB), kulumpha mamaki ndi ma kprobe;
  • Zida
    • Dalaivala akuphatikizidwa Lima ya Mali 400/450 GPU, yogwiritsidwa ntchito mu tchipisi tambiri zakale kutengera kamangidwe ka ARM. Kwa Mali GPUs atsopano, dalaivala wa Panfrost wawonjezedwa, akuthandizira tchipisi tochokera ku Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ndi Bifrost (Mali G3x, G5x, G7x) microarchitectures;
    • Zowonjezera zothandizira pazida zamawu pogwiritsa ntchito firmware yotseguka Firmware Yowonekera (SOF). Ngakhale kupezeka kwa madalaivala otseguka, firmware code for sound chips idakhalabe yotsekedwa ndipo idaperekedwa mu mawonekedwe a binary. Pulojekiti ya Sound Open Firmware idapangidwa ndi Intel kuti apange firmware yotseguka ya tchipisi ta DSP yokhudzana ndi ma audio (Google pambuyo pake idalowanso chitukuko). Pakalipano, polojekitiyi yakonzekera kale kutulukira kwa firmware kwa tchipisi ta phokoso la Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ndi nsanja za IceLake;
    • Dalaivala wa Intel DRM (i915) amawonjezera chithandizo cha tchipisi
      Elkhartlake (Gen11). Ma ID owonjezera a PCI a tchipisi ta Comet Lake (Gen9). Thandizo la tchipisi ta Icelandke lakhazikika, pomwe zozindikiritsa zida za PCI zinawonjezedwa.
      Yayatsa
      njira yosinthira mosagwirizana pakati pa ma buffer awiri mu kukumbukira kwamavidiyo (async flip) polemba ntchito kudzera pa mmio, zomwe zidakulitsa kwambiri magwiridwe antchito a 3D (mwachitsanzo, magwiridwe antchito a 3DMark Ice Storm mayeso adakwera ndi 300-400%). Thandizo laukadaulo wowonjezera Zithunzi za HDCP2.2 (High-bandwidth Digital Content Protection) polemba mavidiyo omwe amafalitsidwa kudzera pa HDMI;

    • Woyendetsa amdgpu wa Vega20 GPU anawonjezera kuthandizira kwa RAS (Kudalirika, Kupezeka, Kugwira Ntchito) ndi kuthandizira koyesera kwa kachitidwe kakang'ono ka SMU 11, komwe kudalowa m'malo mwaukadaulo wa Powerplay. Kwa GPU Vega12 anawonjezera thandizo la BACO mode (Basi Yogwira, Chip Off). Thandizo loyamba la XGMI, basi yothamanga kwambiri (PCIe 4.0) yolumikizira GPU. Onjezani zozindikiritsa zomwe zikusowa makhadi otengera Polaris10 GPU kwa woyendetsa amdkfd;
    • Dalaivala wa Nouveau wawonjezera thandizo la ma board otengera NVIDIA Turing 117 chipset (TU117, yogwiritsidwa ntchito mu GeForce GTX 1650). MU
      kconfig anawonjezera kukhazikitsa kuti muyimitse magwiridwe antchito omwe sagwiritsidwanso ntchito pazotulutsa zaposachedwa za libdrm;

    • Thandizo la "nthawi yolumikizira" zinthu zawonjezedwa ku DRM API ndi dalaivala wa amdgpu, kukulolani kuchita popanda kutsekereza kwachikale.
    • Dalaivala wa vboxvideo wa VirtualBox virtual GPU wasunthidwa kuchokera kunthambi yoyambira kupita kugawo lalikulu;
    • Wowonjezera liwiro la GFX SoC ASPEED chip;
    • Thandizo lowonjezera la ARM SoC ndi Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi ) matabwa RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

Nthawi yomweyo, Latin American Free Software Foundation anapanga
njira kernel yaulere kwathunthu 5.2 - Linux-libre 5.2-gnu, kuchotsedwa kwa firmware ndi zinthu zoyendetsa galimoto zomwe zili ndi zigawo zopanda ufulu kapena zigawo za code, zomwe zimakhala zochepa ndi wopanga. Kutulutsa kwatsopano kumaphatikizapo kukweza mafayilo
Sound Open Firmware. Kutsegula kwa ma blobs mu madalaivala kwayimitsidwa
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ndi ucsi_ccg. Khodi yoyeretsa blob mu ixp4xx, imx-sdma, amdgpu, nouveau ndi goya madalaivala ndi ma subsystems, komanso zolemba za microcode, zasinthidwa. Kuyimitsa ma blobs mu driver wa r8822be chifukwa chakuchotsedwa kwake.

Source: opennet.ru

Kuwonjezera ndemanga