FullstÀndiga korrigerande utgÄvor av Firefox 66.0.4 har publicerats och

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds Är kÀrnlansering Linux 5.1. Bland de mest anmÀrkningsvÀrda förÀndringarna: ett nytt grÀnssnitt för asynkron in- och utmatning io_uring, möjlighet att anvÀnda NVDIMM som RAM, stöd för delad virtuell minne i Nouveau, stöd för skalbar övervakning av mycket stora FS via fanotify, möjlighet att konfigurera Zstd kompressionsnivÄer i Btrfs, en ny cpuidle-behandlare TEO, implementering av systemanrop för att lösa problem med Är 2038, möjlighet att starta frÄn enheter i device-mapper utan initramfs, LSM-modul SafeSetID och stöd för kombinerade live-patchar.

Huvud nyheter:

  • Disksubsystem, in- och utmatning och filsystem
    • Ett nytt grĂ€nssnitt för asynkron in- och utmatning har implementerats — io_uring, vilket utmĂ€rker sig genom att stödja polling för in- och utmatning samt möjligheten att arbeta bĂ„de med och utan buffring. Observera att den tidigare föreslagna mekanismen för asynkron in- och utmatning "aio" inte stödde buffrad in- och utmatning, kunde endast arbeta i O_DIRECT-lĂ€get (utan buffring och bypass cache), hade problem med lĂ„sning pĂ„ grund av vĂ€ntan pĂ„ tillgĂ„ng till metadata och visade stora overheadkostnader pĂ„ grund av kopiering av data i minnet.

      Inom API:et
      io_uring har utvecklarna försökt ÄtgÀrda bristerna i det gamla aio-grÀnssnittet. Enligt prestanda io_uring Àr vÀldigt nÀra SPDK och övertrÀffar klart libaio nÀr det gÀller att arbeta med aktiverad polling. För att anvÀnda io_uring i slutapplikationer som körs i anvÀndarutrymmet har ett bibliotek förberetts liburing, som tillhandahÄller ett högre nivÄgrÀnssnitt över kÀrnans API;

    • I hĂ€ndelsespĂ„rningsmekanismen i FS fanotify() har lagts till stöds spĂ„rning av situationer dĂ€r superblocket och strukturen dirent Ă€ndras (hĂ€ndelser för skapande, borttagning och flytt av kataloger). De presenterade funktionerna hjĂ€lper till att lösa skalbarhetsproblem som uppstĂ„r vid skapande av rekursiv spĂ„rning av förĂ€ndringar i mycket stora FS med hjĂ€lp av inotify-mekanismen (tidigare kunde Ă€ndringar i dirent endast spĂ„ras via inotify, men
      effektiviteten för rekursiv spÄrning av stora, nÀstlade kataloger lÀmnade mycket att önska). Nu kan sÄdan övervakning göras effektivt genom fanotify;
    • I filsystemet Btrfs har lagts till möjlighet att konfigurera komprimeringsnivĂ„ för zstd-algoritmen, som kan ses som en optimal kompromiss mellan det snabba men ineffektiva lz4 och det lĂ„ngsamma men högkomprimerande xz. PĂ„ samma sĂ€tt som det tidigare var möjligt att stĂ€lla in komprimeringsnivĂ„n vid anvĂ€ndning av zlib för zstd har stöd för monteringsalternativet "-o compress=zstd:level" lagts till. Vid testning sĂ€kerstĂ€llde den minimi första nivĂ„n en komprimering av data med 2,658 gĂ„nger vid en komprimeringshastighet av 438,47 MB/s, uppackningshastighet av 910,51 MB/s och minnesanvĂ€ndning av 780 MB, medan den maximala 15:e nivĂ„n gav 3,126 gĂ„nger, men med en komprimeringshastighet pĂ„ 37,30 MB/s, uppackningshastighet av 878,84 MB/s och minnesanvĂ€ndning av 2547 MB;
    • Tillagd möjlighet att starta frĂ„n ett filsystem som finns pĂ„ device-mapper-enheten utan att anvĂ€nda initramfs. FrĂ„n och med den aktuella versionen av kĂ€rnan kan device-mapper-enheten anvĂ€ndas direkt under startprocessen, exempelvis som partition med rotfilsystemet. InstĂ€llning av partitionen görs med startparametern "dm-mod.create". Bland de tillĂ„tna modulerna för start frĂ„n device-mapper finns: "crypt", "delay", "linear", "snapshot-origin" och "verity";
    • Flaggan F2FS_NOCOW_FL har lagts till i F2FS-filsystemet, som Ă€r inriktat pĂ„ Flash-lagringsenheter och tillĂ„ter att copy-on-write-lĂ€get stĂ€ngs av för en specificerad fil;
    • Filsystemet har tagits bort frĂ„n kĂ€rnan Exofs, som Ă€r en variant av ext2, anpassad för att fungera med objektbaserade lagringsenheter OSD (Object-based Storage Device). Stödet för SCSI-protokollet för sĂ„dana objektlagringsenheter har ocksĂ„ tagits bort;
  • Virtualisering och sĂ€kerhet
    • Ett alternativ PR_SPEC_DISABLE_NOEXEC har lagts till i prctl() för att styra spekulativ exekvering av instruktioner för den valda processen. Det nya alternativet gör det möjligt att selektivt stĂ€nga av spekulativ exekvering för processer som potentiellt kan attackeras med Spectre-typens attacker. Blockeringen gĂ€ller tills den första exec()-anropet görs;
    • LSM-modulen har implementerats SafeSetID, vilket gör det möjligt för systemtjĂ€nster att sĂ€kert hantera anvĂ€ndare utan att höja privilegierna (CAP_SETUID) och utan att fĂ„ root-anvĂ€ndarens behörigheter. Tildelning av privilegier görs genom att definiera regler i securityfs baserat pĂ„ en vitlista med tillĂ„tna bindningar i formen "UID1:UID2";
    • LĂ„g-nivĂ„ Ă€ndringar har lagts till som krĂ€vs för den staplade organisationen av sĂ€kerhetsmoduler (LSM). En kĂ€rnladdningsparameter "lsm" har introducerats för att styra vilka moduler som laddas och i vilken ordning;
    • Stödet för filsystemets namespaces har lagts till i auditsystemet;
    • Utökade möjligheterna hos GCC-pluginen structleak, som tillĂ„ter att blockera potentiella minnesinnehĂ„llslĂ€ckor. Initiell behandling av alla variabler som anvĂ€nds i koden via referensĂ„tkomst pĂ„ stacken har sĂ€kerstĂ€llts;
  • NĂ€tverkssystemet
    • För sockets har möjligheten nytt alternativ "SO_BINDTOIFINDEX", liknande
      "SO_BINDTODEVICE", men accepterar indexnumret för nÀtverksgrÀnssnittet som argument istÀllet för grÀnssnittens namn;
    • I mac80211-stacken har möjligheten att tilldela flera BSSID (MAC-adresser) till en enhet lagts till. Inom projektet för optimering av WiFi-prestanda har mac80211-stacken inkluderat hĂ€nsyn till fördelning av sĂ€ndningstid och möjligheten att fördela sĂ€ndningstid mellan flera stationer (vid drift i Ă„tkomstpunktslĂ€ge tilldelas mindre tid för överföring till lĂ„ngsamma trĂ„dlösa stationer istĂ€llet för en jĂ€mn fördelning av tid mellan alla stationer);
    • En mekanism för 'devlink healthsom ger notifieringar vid problem med nĂ€tverksgrĂ€nssnitt;
  • Minne och systemtjĂ€nster
    • Implementerad sĂ€ker signalöverföring med hĂ€nsyn till Ă„teranvĂ€ndning av PID. Till exempel kunde en situation uppstĂ„ vid anrop av kill, dĂ€r den mĂ„l-PID omedelbart efter att signalen skickats kunde ha frigjorts pĂ„ grund av processens avslut och tagits av en annan process, vilket resulterade i att signalen överfördes till en annan process. För att utesluta sĂ„dana situationer har ett nytt systemanrop pidfd_send_signal lagts till, vilket anvĂ€nder filbeskrivare frĂ„n /proc/pid för att sĂ€kerstĂ€lla stabil bindning till processen. Även om PID Ă„teranvĂ€nds under behandlingen av systemanropet, kommer filbeskrivaren att förbli oförĂ€ndrad och kan tryggt anvĂ€ndas för att skicka signalen till processen;
    • Tillagd möjlighet att anvĂ€nda persistent-minnesenheter (persistent-memory, till exempel NVDIMM) som RAM. Tidigare har liknande enheter stöttats som lagringsenheter, men nu kan de Ă€ven anvĂ€ndas som ytterligare RAM. Möjligheten har implementerats som svar pĂ„ anvĂ€ndarnas önskemĂ„l, som Ă€r villiga att acceptera prestandaförluster och som vill anvĂ€nda den inbyggda API-funktionen för hantering av minne i Linux-kĂ€rnan istĂ€llet för befintliga minnesfördelningssystem som arbetar ovanpĂ„ mmap för dax-filen;
    • En ny cpu-idle-hanterare har lagts till (cpuidle, bestĂ€mmer nĂ€r CPU kan gĂ„ in i djupa energisparlĂ€gen; ju djupare lĂ€ge — desto större besparingar, men ocksĂ„ lĂ€ngre tid krĂ€vs för att Ă„tervĂ€nda frĂ„n lĂ€get) — TEO (Timer Events Oriented Governor). Tidigare har tvĂ„ cpuidle-hanterare föreslagits — 'menu' och 'ladder', som skiljer sig Ă„t i sin heuristik. Hanteraren 'menu' har kĂ€nda problem med att ta heuristiska beslut, och för att Ă„tgĂ€rda detta har vi beslutat att utveckla en ny hanterare. TEO positioneras som ett alternativ till 'menu'-hanteraren, vilket möjliggör högre prestanda med samma energiförbrukning.
      Den nya hanteraren kan aktiveras med hjÀlp av startparametern 'cpuidle.governor=teo';
    • Som en del av arbetet med att Ă„tgĂ€rda 2038-problemet, orsakad av överflödet av 32-bitars time_t-typen, har systemanrop inkluderats som erbjuder 64-bitars tidsrĂ€knare för 32-bitars arkitekturer. Som ett resultat kan 64-bitars time_t-strukturen nu anvĂ€ndas pĂ„ alla arkitekturer. Liknande förĂ€ndringar har ocksĂ„ genomförts i nĂ€tverksunderlaget för alternativ timestamp nĂ€tverksanslutningar;
    • I systemet för live patching av kĂ€rnor (live patching) har lagts till möjligheten "Atomic Replace" för atomĂ€r tillĂ€mpning av en serie Ă€ndringar pĂ„ en funktion. Denna möjlighet gör det möjligt att distribuera sammanstĂ€llda patchar som omfattar flera Ă€ndringar samtidigt, istĂ€llet för den ganska komplicerade processen med gradvis applicering av live-patchar i en strikt definierad ordning. Tidigare mĂ„ste varje följande Ă€ndring utgĂ„ frĂ„n tillstĂ„ndet för funktionen efter den föregĂ„ende Ă€ndringen, men nu Ă€r det möjligt att distribuera flera Ă€ndringar kopplade till ett och samma ursprungliga tillstĂ„nd (dvs. stödjande kan underhĂ„lla en sammanstĂ€lld patch i förhĂ„llande till grundkĂ€rnan istĂ€llet för en kedja av ömsesidigt beroende patchar);
    • Förklarad förĂ„ldrad stöd för a.out körbarhetsformat och
      har tagits bort kod för att generera core-filer i a.out format, som nu Àr obsolet. Formatet a.out anvÀnds lÀnge inte pÄ system med Linux, och genereringen av a.out-filer stöds inte lÀngre av moderna verktyg i Linux-konfigurationer som standard. Dessutom kan laddaren för a.out-filer implementeras helt i anvÀndarutrymmet;
    • Mekanismen för verifiering av BPF-program har lagts till möjligheten att identifiera och ta bort oanvĂ€nd kod. I kĂ€rnan ingĂ„r dessutom patchar med stöd för spinlock för BPF-subsystemet, som ger ytterligare möjligheter för hantering av parallell körning av BPF-program;
  • Utrustning
    • I Nouveau-drivrutinen har lagts till stöd för heterogen minneshantering, som möjliggör tillgĂ„ng för CPU och GPU till gemensamma synkroniserade minnesomrĂ„den. Systemet för delat virtuellt minne (SVM, shared virtual memory) implementeras baserat pĂ„ HMM-subsystemet (heterogen minneshantering), vilket gör det möjligt att anvĂ€nda enheter med egna minneshanteringsenheter (MMU, memory management unit) som kan fĂ„ tillgĂ„ng till huvudminnet. Dessutom kan HMM anvĂ€ndas för att organisera ett gemensamt adressutrymme mellan GPU och CPU, dĂ€r GPU kan fĂ„ tillgĂ„ng till huvudminnet för processen. Stödet för SVM Ă€r för nĂ€rvarande aktiverat endast för GPU-modeller av Pascal-familjen, Ă€ven om stöd ocksĂ„ ges för Volta och Turing GPU:er. Dessutom, i Nouveau tillagd ny ioctl för hantering av migrering av minnesomrĂ„den för processer till GPU-minne;
    • I DRM-drivrutinen för Intel för GPU Skylake och nyare (gen9+) pĂ„slagen standardlĂ€get för snabbstart, vilket utesluter onödiga lĂ€genĂ€ndringar vid uppstart. Tillagda nya enhetsidentifierare baserade pĂ„ mikroarkitekturerna Coffelake och Ice Lake. För Coffelake-chips har lagts till stöd för GVT (GPU-virtualisering). För virtuella GPU:er har möjligheten stöd för VFIO EDID. För LCD-paneler MIPI/DSI har lagts till stöd för ACPI/PMIC-element. Genomfört nya TV-lĂ€gen 1080p30/50/60 TV;
    • I amdgpu-drivrutinen har stöd lagts till för GPU Vega10/20 BACO. Strömstyrning för Vega 10/20 och kylartabeller för Vega 10 har implementerats. Nya PCI-enhetsidentifierare har lagts till för GPU Picasso. Tillagd grĂ€nssnitt för hantering av planerade beroenden för att utesluta dödlĂ€gen;
    • Tillagd DRM/KMS-drivrutin för accelererade skĂ€rmhĂ€ndelser ARM Komeda (Mali D71);
    • Stöd för skĂ€rmpaneler frĂ„n Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 och Kingdisplay kd097d04 har lagts till;
    • Stöd för ljudkodekar Rockchip RK3328, Cirrus Logic CS4341 och CS35L36, MediaTek MT6358, Qualcomm WCD9335 och Ingenic JZ4725B, samt ljudplattformen Mediatek MT8183;
    • Stöd för NAND-kontroller Flash STMicroelectronics FMC2, Amlogic Meson har lagts till;
    • Stöd för acceleratorer för maskininlĂ€rningssystem Habana AI har lagts till;
    • Stöd för gigabit Ethernet-kontroller NXP ENETC och trĂ„dlösa grĂ€nssnitt MediaTek MT7603E (PCIe) och MT76x8 har lagts till.

Samtidig Latinamerikansk Stiftelse för Fritt Programvara skapat
en variant fullstĂ€ndigt fritt kĂ€rna 5.1 — Linux-libre 5.1-gnu, avlĂ€gsnat frĂ„n firmware och drivrutiner som innehĂ„ller icke-fria komponenter eller kodstycken vars anvĂ€ndningsomrĂ„de Ă€r begrĂ€nsat av tillverkaren. I den nya versionen har laddning av blobs i drivrutinerna mt7603 och goya inaktiverats. Kod för borttagning av blobs i drivrutiner och subsystemen wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk och touchscreen_dmi har uppdaterats. Rensningen av blobs i bootloadern för lantiq xrx200 har upphört pĂ„ grund av att den har tagits bort frĂ„n kĂ€rnan.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster