I-FreeBSD Q2019 XNUMX Ingxelo yeNkqubela

ipapashiwe ingxelo ngophuhliso lweprojekthi yeFreeBSD ukusuka kuTshazimpunzi ukuya kweyeSilimela ngowama-2019. Phakathi kotshintsho sinokuqaphela:

  • Imiba ngokubanzi kunye nenkqubo
    • Iqela le-Core ligqibe ekubeni liseke iqela elisebenzayo lokukhangela ukuba kunokwenzeka ukuhambisa ikhowudi yomthombo ukusuka kwinkqubo yolawulo yomthombo woTshintsho ukuya kwi-Git system.
    • Uvavanyo lwe-fuzz lwe-FreeBSD kernel kusetyenziswa inkqubo syzkaller kwaye inani leempazamo ezichongiweyo zalungiswa. Kongezwe umaleko wovavanyo oluntsonkothileyo lwamathala eencwadi ukuhambelana nokusingqongileyo okungama-32-bit kwiinkqubo ezine-64-bit kernel. Kuphunyezwe ukukwazi ukuqhuba syzkaller koomatshini bhyve-based virtual. Kwinqanaba elilandelayo, kucwangciswe ukwandisa ukhuselo lovavanyo lwenkqubo yokufowuna, sebenzisa i-sanitizer ye-LLVM ukujonga i-kernel, sebenzisa i-netdump ukugcina ukulahla kwe-kernel ngexesha lokuphazamiseka ngexesha lovavanyo lwe-fuzzing, njl.
    • Umsebenzi uqalile ekuhlaziyeni ukuphunyezwa kwe-zlib kwinqanaba le-kernel. Ukufikelela kwi-kernel kwikhowudi ye-zlib, i-contrib/zlib directory ithiywe kwakhona kwi-sys/contrib/zlib, kwaye ifayile yentloko ye-crc.h nayo yathiywa ngokutsha ukunqanda ukungquzulana ne-zlib/crc.h. Icociwe ikhowudi yelifa exhomekeke kwi-zlib kunye ne-inflate. Okulandelayo, kucetywa ukubonelela ngekhono lokwakha i-kernel ngaxeshanye kunye ne-zlib endala kunye nentsha yokudluliselwa ngokuthe ngcembe kwinguqu entsha yemisebenzi esebenzisa ukunyanzeliswa;
    • Ukulinganisa okusingqongileyo kweLinux (Linuxulator) kuhlaziywe. Inkxaso eyongeziweyo yezixhobo zokulungisa iimpazamo zeLinux ezifana nesixhobo somtya. Ipakethe ye-linux-c7-strace yongeziwe kumazibuko, enokusetyenziswa ukulandelela iifayile eziphunyeziweyo ze-Linux endaweni ye-truss eqhelekileyo kunye nezinto eziluncedo ze-ktrace, ezingekakwazi ukucacisa iiflegi ezithile ze-Linux kunye nezakhiwo. Ukongeza, iphakheji ye-linux-ltp eneProjekthi yoVavanyo lwe-Linux yongeziwe kwaye imiba yokuhambelana ne-executables edityaniswe neenguqulelo ezintsha ze-glibc iye yasonjululwa;
    • Ukuphunyezwa kokulibaziseka kwemisebenzi yokungasebenzi kwindlela ye-pmmap idluliselwe ekusebenziseni i-algorithm yokucubungula umgca osebenza ngaphandle kwezitshixo, okwenze ukuba kube lula ukuxazulula iingxaki ze-scalability xa uqhuba inani elikhulu lemisebenzi ye-parallel unmap;
    • Indlela yokuvala i-vnode ngexesha lokuqhutywa kweminxeba yenkqubo ye-execve() usapho itshintshiwe, eyenze ukuba kube nokwenzeka ukuzuza impumelelo eyandisiweyo xa ngaxeshanye kusenziwa execve() kwifayile enye (umzekelo, xa kusenziwa imisebenzi yendibano ngokudityaniswayo. yokuqaliswa komqokeleli);
  • Khu seleko
    • I-hyve hypervisor iyaqhubeka nokuphucula inkxaso ye-Live imfuduko yeendwendwe ezisingqongileyo ukusuka kwinginginya enye ukuya kwenye kunye noGcina/Buyisela ukusebenza, ekuvumela ukuba umise inkqubo yeendwendwe, ugcine urhulumente kwifayile, kwaye emva koko uqalise ukusebenza.
    • Ngokusebenzisa ilayibrari ye-libvdsk, i-bhyve yongeze inkxaso yemifanekiso yediski kwifomathi ye-QCOW2. Ufakelo olufunekayo ukuze usebenze
      ilungiswe ngokukodwa uguqulelo lwe-bhyve, oluguqulelwe ukusebenzisa abaphathi beefayile ezisekwe kwi libvdsk. Ngexesha lokunika ingxelo, i-libvdsk iphinde yenze umsebenzi wokwenza lula ukudityaniswa kwenkxaso yeefomathi ezintsha, ukuphuculwa kokufunda nokubhala ukusebenza, kunye nenkxaso eyongeziweyo yeCopy-On-Write. Kwimisebenzi eseleyo, ukuhlanganiswa kwe-libvdsk kwisakhiwo esiphambili se-bhyve kuphawulwe;

    • Inkqubo yokuqokelela ulwazi lwezendlela yongezwe kumazibuko
      Maltrail, ekuvumela ukuba udale imigibe yezicelo zenethiwekhi ezinobungozi (i-IPs kunye neendawo ezivela kuluhlu lwabamnyama zihlolwe) kwaye uthumele ulwazi malunga nomsebenzi ochongiweyo kumncedisi ophakathi ukwenzela ukuvinjelwa okulandelayo okanye ukuhlalutya kwemizamo yokuhlasela;

    • Iiplatifomu zongezwa kwiichweba zokubona ukuhlaselwa, ukuhlalutya izigodo kunye nokubeka iliso kwingqibelelo yefayile Wazuh (ifolokhwe ye-Ossec ngenkxaso yokudibanisa ne I-ELK-Stack);
  • Inkqubo engaphantsi yothungelwano
    • Umqhubi we-ena uhlaziywe ukuxhasa isizukulwana sesibini se-ENAv2 (i-Elastic Network Adapter) i-adapter yenethiwekhi ye-adapter esetyenziswa kwi-Elastic Compute Cloud (EC2) isiseko sonxibelelwano phakathi kwe-EC2 nodes ngesantya ukuya kwi-25 Gb / s. Inkxaso ye-NETMAP yongezwe kumqhubi we-ena.
    • I-FreeBSD HEAD ithatha i-MMC / SD stack entsha, esekelwe kwisakhelo se-CAM kwaye ikuvumela ukuba udibanise izixhobo kunye ne-SDIO (Secure Digital I / O) interface. Ngokomzekelo, i-SDIO isetyenziswe kwiimodyuli ze-WiFi kunye neBluetooth kwiibhodi ezininzi, ezifana neRaspberry Pi 3. I-stack entsha ivumela ukuba i-interface ye-CAM isetyenziswe ukuthumela imiyalelo ye-SD kwizicelo kwindawo yomsebenzisi, okwenza kube lula ukwenza isixhobo. abaqhubi abasebenza kwinqanaba lomsebenzisi. Umsebenzi sele uqalile ekudaleni abaqhubi beechips ezingenazingcingo ze-Broadcom ezisebenza kwimowudi ye-FullMAC (kwicala le-chip liqhuba imbonakalo yenkqubo yayo yokusebenza kunye nokuphunyezwa kwe-802.11 stack yayo engenazingcingo);
    • Umsebenzi uyaqhubeka ukuphumeza i-NFSv4.2 (RFC-7862) ye-FreeBSD. Uguqulelo olutsha lwe-NFS yongeza inkxaso ye-posix_fadvise, imisebenzi ye-posix_fallocate, iindlela ze-SEEKHOLE/SEEKDATA kwi-lseek, kunye nokusebenza kokukopishwa kwendawo yeendawo zefayile kumncedisi (ngaphandle kokudluliselwa kumxhasi).

      IFreeBSD okwangoku ibonelela ngenkxaso esisiseko yeLayoutError, IOAdvise, Allocate, and Copy imisebenzi. Ekuphela kwento eseleyo kukuphumeza umsebenzi wokuFumana ofunekayo ukusebenzisa i-lseek(SEEKHOLE/SEEKDATA) nge-NFS. Inkxaso ye-NFSv4.2 icwangciselwe iFreeBSD 13;

  • Ukugcinwa kunye neenkqubo zeefayile
    • Iprojekthi yokuphinda isebenze umqhubi we-FUSE (Inkqubo yefayile kwi-USerspace) i-subsystem, evumela ukudala ukuphunyezwa kweenkqubo zefayile kwindawo yomsebenzisi, isondela ekugqityweni. Umqhubi obonelelwe ekuqaleni uphelelwe lixesha kwaye uneempazamo ezininzi. Njengenxalenye yeprojekthi yokuphucula umqhubi, inkxaso ye-FUSE 7.23 protocol yaphunyezwa (ngaphambili inguqulo 7.8, ekhutshwe kwiminyaka eyi-11 eyadlulayo yaxhaswa), ikhowudi yongezwa ukujonga amalungelo okufikelela kwicala le-kernel ("-o default_permissions"). I-VOP_MKNOD, i-VOP_BMAP kunye ne-VOP_ADVLOCK zongezwa, ukukwazi ukuphazamisa imisebenzi ye-FUSE, inkxaso eyongeziweyo kwimibhobho engachazwanga ngamagama kunye neziseko ze-unix kwi-fusefs, ukukwazi ukusebenzisa i-kqueue ye / dev / fuse, evunyelwe ukuhlaziywa kweeparameters zentaba nge "mount -u", inkxaso eyongezelelweyo. ukuthunyelwa ngaphandle kwe-fusefs nge-NFS, kuphunyezwe i-RLIMIT_FSIZE accounting, yongezwe FOPEN_KEEP_CACHE iflegi kunye neFUSE_ASYNC_READ, ukulunga komsebenzi okubalulekileyo kwenziwe kwaye umbutho we-caching uphuculwe;
    • Inkxaso yokusebenza kwe-BIO_DELETE yongezwe kwikhowudi yokutshintshiselana yekhasi, ekuvumela ukuba usebenzise umyalelo we-TRIM xa ususa iibhloko kwii-SSD drives ukwandisa ubomi babo benkonzo.
  • Inkxaso yehardware
    • Umsebenzi uyaqhubeka nokuphumeza inkxaso ye-ARM64 SoC Broadcom BCM5871X kunye neeprosesa ze-ARMv8 Cortex-A57, ezijoliswe ekusetyenzisweni kwii-routers, isango kunye nokugcinwa kwenethiwekhi. Ngethuba lokunika ingxelo, inkxaso yeebhasi ze-iProc PCIe zangaphakathi nangaphandle zaphuculwa, inkxaso ye-BNXT Ethernet yongezwa, kwaye umsebenzi uyaqhubeka ukusebenzisa injini ye-crypto eyakhelwe-ngaphakathi ukukhawulezisa i-IPsec. Ukudityaniswa kwekhowudi kwisebe le-HEAD kulindeleke kwisiqingatha sesibini sonyaka;
    • Umsebenzi sele uqalile kwinkxaso ye-64-bit SoC NXP LS1046A esekelwe kwiprosesa ye-ARMv8 Cortex-A72 ene-injini ye-packet processing acceleration engine, i-10 Gb Ethernet, i-PCIe 3.0, i-SATA 3.0 kunye ne-USB 3.0. Inkxaso yesiseko sesiseko (i-multi-user SMP) kunye ne-SATA 3.0 sele iphunyeziwe. Inkxaso ye-USB 3.0, SD/MMC kunye ne-I2C kuphuhliso. Izicwangciso ziquka inkxaso ye-Ethernet, i-GPIO kunye ne-QSPI. Ukugqitywa komsebenzi kunye nokufakwa kwisebe le-HEAD kulindeleke kwikota yesi-4 ka-2019.
    • I-MLx5en ehlaziyiweyo kunye ne-MLx5ib abaqhubi be-Mellanox ConnectX-4 [Lx], i-ConnectX-5 [Ex], kunye ne-ConnectX-6 [Dx] i-Ethernet kunye nee-adapter ze-InfiniBand. Inkxaso eyongeziweyo ye-adapters ye-Mellanox Socket Direct (ConnectX-6), evumela ukuhamba ukuya kuthi ga kwi-200Gb / s kwi-PCIe Gen 3.0 ibhasi. Kwii-chips ezininzi zeBlueField, inkxaso yomqhubi we-RShim yongeziwe. Iphakheji ye-mstflint eneseti yezixhobo zokuxilonga kwiiadaptha ze-Mellanox zongezwe kumazibuko;
  • Usetyenziso kunye nenkqubo yezibuko
    • Amacandelo okupakishwa kwemizobo ahlaziyiwe. Umqhubi we-drm.ko (uManejala oBonelela ngokuthe ngqo) ufakwe kwi-Linux 5.0 kernel. Lo mqhubi uthathwa njengomfuniselo kwaye wongezwe kumthi wamazibuko njengemizobo/drm-devel-kmod. Kuba umqhubi esebenzisa isakhelo se-Linux KPI esihlaziyiweyo ukuze sihambelane neLinux kernel DRM API, iFreeBSD CURRENT iyafuneka ukuze iqhube. I-vboxvideo.ko drm driver yeVirtualBox virtual GPU nayo ifakwe kwiLinux. Iphakheji ye-Mesa ihlaziywe ukukhulula i-18.3.2 kwaye itshintshelwe ukusebenzisa i-LLVM ukusuka kwi-devel/llvm80 port endaweni ye-devel/llvm60.
    • Umthi wamazibuko we-FreeBSD udlule kumazibuko angama-37000, inani lee-PRs ezingavalwanga lisahleli kuma-2146. Ngexesha lokunika ingxelo, iinguqu ezingama-7837 zenziwe kubaphuhlisi abali-172. Abathathi-nxaxheba abatsha abathathu bafumana amalungelo omsebenzi. Phakathi kweenguqulelo ezibalulekileyo zohlaziyo kumazibuko zezi: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Onke amazibuko eGo aguqulelwe ekubeni asebenzise iflegi ethi "USES=hamba". Kongezwe iflegi ethi "USES=cabal" kumphathi wepakethe yeCabal esetyenziselwa ikhowudi yeHaskell. Imowudi engqongqo yokhuseleko lwestack yenziwe yasebenza. Inguqulelo yePython engagqibekanga yi-3.6 endaweni ye-2.7.
    • Ukukhutshwa kwezinto eziluncedo sele kulungisiwe i-nssctl 1.0, enikezela nge-analogue ku /sbin/sysctl esebenzisa libxo kwimveliso kunye nokubonelela ngeseti eyandisiweyo yeenketho. I-Nsysctl inokusetyenziselwa ukujonga esweni imeko yexabiso le-sysctl kwaye ibonise ulwazi lwezinto ezikwimo eyakhiweyo. Imveliso kwi XML, JSON kunye neefomati ze HTML ziyenzeka;

umthombo: opennet.ru

Yongeza izimvo