FreeBSD Q2019 XNUMX nga Pag-uswag nga Report

gipatik report bahin sa pag-uswag sa proyekto sa FreeBSD gikan sa Abril hangtod Hunyo 2019. Lakip sa mga pagbag-o atong mamatikdan:

  • Kinatibuk-ang ug sistematikong mga isyu
    • Ang Core team nakahukom nga magtukod ug working group aron masusi ang posibilidad sa pagbalhin sa source code gikan sa sentralisadong Subversion source control system ngadto sa desentralisadong Git system.
    • Nagpahigayon og fuzz testing sa FreeBSD kernel gamit ang sistema syzkaller ug ubay-ubay nga giila nga mga sayop ang gitul-id. Gidugang ang usa ka layer alang sa fuzzing nga pagsulay sa mga librarya alang sa pagkaangay sa usa ka 32-bit nga palibot sa mga sistema nga adunay 64-bit nga kernel. Gipatuman ang abilidad sa pagpadagan sa syzkaller sa bhyve-based virtual machines. Sa sunod nga yugto, giplano nga palapdan ang pagsakup sa pagsulay sa tawag sa sistema, gamita ang LLVM sanitizer aron masusi ang kernel, gamita ang netdump aron maluwas ang mga basura sa kernel sa panahon sa mga pag-crash sa panahon sa pag-fuzzing nga pagsulay, ug uban pa.
    • Nagsugod na ang trabaho sa pag-update sa pagpatuman sa zlib sa lebel sa kernel. Para sa kernel access sa zlib code, ang contrib/zlib directory giilisan og ngalan sa sys/contrib/zlib, ug ang crc.h header file giilisan usab og ngalan aron malikayan ang panagsumpaki sa zlib/crc.h. Gilimpyohan ang legacy code nga nagdepende sa zlib ug inflate. Sunod, giplano nga mahatagan ang abilidad sa pagtukod sa kernel nga dungan sa daan ug bag-ong zlib alang sa anam-anam nga pagbalhin sa bag-ong bersyon sa mga gimbuhaton nga naggamit sa compression;
    • Ang Linux environment emulation infrastructure (Linuxulator) gi-update. Dugang nga suporta alang sa Linux debugging tools sama sa strace utility. Ang linux-c7-strace nga pakete gidugang ngadto sa mga pantalan, nga magamit sa pagsubay sa Linux executable files imbes sa standard truss ug ktrace utilities, nga dili pa maka-decode sa pipila ka Linux-specific nga mga flag ug istruktura. Dugang pa, ang linux-ltp package nga adunay Linux Test Project executables gidugang ug ang mga isyu sa compatibility sa mga executable nga nalambigit sa bag-ong bersyon sa glibc nasulbad na;
    • Ang pagpatuman sa nalangan nga invalidation nga mga operasyon sa pmap nga mekanismo gibalhin ngadto sa paggamit sa usa ka queue processing algorithm nga nagtrabaho nga walay mga kandado, nga nagpaposible sa pagsulbad sa mga problema sa scalability sa dihang naghimo sa usa ka dako nga gidaghanon sa parallel unmap nga mga operasyon;
    • Ang mekanismo sa pag-block sa vnode sa panahon sa pagpatuman sa mga tawag sa sistema sa execve() nga pamilya nausab, nga nagpaposible nga makab-ot ang dugang nga kahusayan kung dungan nga nagpatuman sa execve() alang sa parehas nga file (pananglitan, kung nagpahigayon mga operasyon sa asembliya nga adunay parallelization sa paglansad sa compiler);
  • Kasegurohan
    • Ang bhyve hypervisor nagpadayon sa pagpalambo sa suporta alang sa Live nga paglalin sa mga bisita nga palibot gikan sa usa ka host ngadto sa lain ug ang Save/Restore functionality, nga nagtugot kanimo sa pag-freeze sa guest system, pag-save sa estado ngadto sa usa ka file, ug dayon ipadayon ang pagpatuman.
    • Pinaagi sa paggamit sa librarya sa libvdsk, ang bhyve midugang og suporta alang sa mga imahe sa disk sa QCOW2 format. Nagkinahanglan og pag-instalar aron magtrabaho
      espesyal nga giusab nga bersyon sa bhyve, nga nakabig aron magamit ang mga tigdumala sa operasyon sa file base sa libvdsk. Atol sa panahon sa pagreport, ang libvdsk nagpahigayon usab og trabaho aron pasimplehon ang paghiusa sa suporta para sa bag-ong mga format, gipaayo ang pasundayag sa pagbasa ug pagsulat, ug dugang nga suporta alang sa Copy-On-Write. Sa nahabilin nga mga buluhaton, ang paghiusa sa libvdsk sa panguna nga istruktura sa bhyve nahibal-an;

    • Usa ka sistema sa pagkolekta sa impormasyon sa trapiko gidugang sa mga pantalan
      Maltrail, nga nagtugot kanimo sa paghimo og mga lit-ag alang sa malisyosong mga hangyo sa network (mga IP ug mga domain gikan sa mga blacklist gisusi) ug ipadala ang impormasyon mahitungod sa namatikdan nga kalihokan ngadto sa usa ka sentralisadong server alang sa sunod nga pagbabag o pagtuki sa mga pagsulay sa pag-atake;

    • Ang mga plataporma gidugang sa mga pantalan alang sa pag-ila sa mga pag-atake, pag-analisar sa mga troso ug pagmonitor sa integridad sa file Wazuh (tinidor sa Ossec nga adunay suporta alang sa panagsama sa ELK-Stack);
  • Subsystem sa network
    • Ang drayber sa ena gi-update aron suportahan ang ikaduhang henerasyon sa mga adapter sa network sa ENAv2 (Elastic Network Adapter) nga gigamit sa imprastraktura sa Elastic Compute Cloud (EC2) aron maorganisar ang komunikasyon tali sa mga EC2 node sa katulin nga hangtod sa 25 Gb / s. Ang suporta sa NETMAP gidugang sa drayber sa ena.
    • Ang FreeBSD HEAD nagsagop ug bag-ong MMC/SD stack, base sa CAM framework ug nagtugot kanimo sa pagkonektar sa mga device gamit ang SDIO (Secure Digital I/O) interface. Pananglitan, ang SDIO gigamit sa WiFi ug Bluetooth modules alang sa daghang mga tabla, sama sa Raspberry Pi 3. Ang bag-ong stack usab nagtugot sa CAM interface nga gamiton sa pagpadala sa SD commands gikan sa mga aplikasyon sa user space, nga nagpaposible sa paghimo og device. mga drayber nga naglihok sa lebel sa tiggamit. Nagsugod na ang pagtrabaho sa pagmugna og mga drayber alang sa Broadcom wireless chips nga naglihok sa FullMAC mode (sa kilid sa chip nagpadagan kini og susama sa kaugalingon nga operating system nga adunay mga pagpatuman sa iyang 802.11 wireless stack);
    • Nagpadayon ang trabaho aron ipatuman ang NFSv4.2 (RFC-7862) para sa FreeBSD. Ang bag-ong bersyon sa NFS nagdugang suporta alang sa posix_fadvise, posix_fallocate functions, SEEKHOLE/SEEKDATA modes sa lseek, ug ang operasyon sa lokal nga pagkopya sa mga bahin sa file sa server (nga walay pagbalhin ngadto sa kliyente).

      Ang FreeBSD sa pagkakaron naghatag ug batakang suporta alang sa LayoutError, IOAdvise, Allocate, ug Copy operations. Ang nahabilin mao ang pagpatuman sa operasyon sa Pagpangita nga gikinahanglan aron magamit ang lseek(SEEKHOLE/SEEKDATA) sa NFS. Ang suporta sa NFSv4.2 giplano alang sa FreeBSD 13;

  • Pagtipig ug mga sistema sa file
    • Ang proyekto sa pag-rework sa drayber alang sa FUSE (File system in USErspace) subsystem, nga nagtugot sa paghimo sa mga pagpatuman sa mga file system sa user space, hapit na mahuman. Ang drayber nga orihinal nga gihatag kay karaan na ug adunay daghang mga bug. Isip bahin sa proyekto sa modernisasyon sa drayber, gipatuman ang suporta alang sa FUSE 7.23 protocol (kaniadto nga bersyon 7.8, gipagawas 11 ka tuig ang milabay gisuportahan), gidugang ang code aron masusi ang mga katungod sa pag-access sa bahin sa kernel ("-o default_permissions"), tawag sa Ang VOP_MKNOD, VOP_BMAP ug VOP_ADVLOCK gidugang, ang abilidad sa paghunong sa mga operasyon sa FUSE, dugang nga suporta alang sa wala hinganli nga mga tubo ug unix socket sa mga fusef, ang abilidad sa paggamit sa kqueue alang sa / dev / fuse, gitugotan ang pag-update sa mga parameter sa mount pinaagi sa "mount -u", dugang nga suporta alang sa pag-eksport sa mga fusef pinaagi sa NFS, gipatuman ang RLIMIT_FSIZE accounting, gidugang ang FOPEN_KEEP_CACHE nga mga bandila ug FUSE_ASYNC_READ, ang mahinungdanon nga pag-optimize sa performance nahimo ug ang caching nga organisasyon gipauswag;
    • Ang suporta alang sa BIO_DELETE nga operasyon gidugang sa swap pager code, nga nagtugot kanimo sa paggamit sa TRIM nga sugo kung tangtangon ang mga bloke gikan sa SSD drive aron madugangan ang ilang serbisyo sa kinabuhi.
  • Suporta sa hardware
    • Ang trabaho nagpadayon sa pagpatuman sa suporta alang sa ARM64 SoC Broadcom BCM5871X nga adunay ARMv8 Cortex-A57 nga mga processor, nga gitumong sa paggamit sa mga routers, gateways ug network storage. Atol sa panahon sa pagreport, ang suporta alang sa internal ug eksternal nga iProc PCIe bus gipaayo, suporta alang sa BNXT Ethernet gidugang, ug ang trabaho nagpadayon sa paggamit sa built-in nga crypto engine aron mapadali ang IPsec. Ang pag-integrate sa code ngadto sa HEAD branch gilauman sa ikaduhang tunga sa tuig;
    • Nagsugod na ang trabaho sa suporta para sa 64-bit SoC NXP LS1046A base sa ARMv8 Cortex-A72 processor nga adunay integrated network packet processing acceleration engine, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ug USB 3.0. Ang suporta alang sa base nga plataporma (multi-user SMP) ug SATA 3.0 gipatuman na. Ang suporta alang sa USB 3.0, SD/MMC ug I2C anaa sa pag-uswag. Ang mga plano naglakip sa suporta alang sa Ethernet, GPIO ug QSPI. Ang pagkompleto sa trabaho ug paglakip sa HEAD branch gilauman sa 4th quarter sa 2019.
    • Gi-update nga mlx5en ug mlx5ib nga mga drayber alang sa Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], ug ConnectX-6 [Dx] Ethernet ug InfiniBand adapters. Gidugang nga suporta alang sa Mellanox Socket Direct (ConnectX-6) adapters, nga nagtugot sa throughput hangtod sa 200Gb/s sa PCIe Gen 3.0 bus. Para sa multi-core BlueField chips, gidugang ang suporta para sa RShim driver. Ang mstflint nga pakete nga adunay usa ka set sa diagnostic utilities alang sa Mellanox adapters gidugang sa mga pantalan;
  • Mga aplikasyon ug sistema sa pantalan
    • Ang mga sangkap sa graphic stack gi-update. Ang drm.ko (Direct Rendering Manager) nga drayber gi-port gikan sa Linux 5.0 kernel. Kini nga drayber giisip nga eksperimento ug gidugang sa punoan sa pantalan isip graphics/drm-devel-kmod. Tungod kay ang drayber naggamit sa updated nga Linux KPI framework aron mahiuyon sa Linux kernel DRM API, FreeBSD CURRENT gikinahanglan nga modagan. Ang vboxvideo.ko drm driver alang sa VirtualBox virtual GPU gi-port usab gikan sa Linux. Ang pakete sa Mesa gi-update aron buhian ang 18.3.2 ug gibalhin aron gamiton ang LLVM gikan sa devel/llvm80 port imbes sa devel/llvm60.
    • Ang FreeBSD ports tree milabaw sa 37000 ports, ang gidaghanon sa unclosed PRs nagpabilin sa 2146. Atol sa reporting period, 7837 ka kausaban ang gihimo gikan sa 172 developers. Tulo ka bag-ong mga partisipante nakadawat mga katungod sa committer. Lakip sa mahinungdanong mga update sa bersyon sa mga pantalan mao ang: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Ang tanan nga Go port nakabig na aron magamit ang bandila nga "USES=go". Gidugang ang "USES=cabal" nga bandila sa Cabal package manager nga gigamit para sa Haskell code. Ang estrikto nga stack protection mode gi-enable. Ang default nga bersyon sa Python mao ang 3.6 imbes nga 2.7.
    • Ang pagpagawas sa utility giandam na nsysctl 1.0, nga nagtanyag ug analogue sa /sbin/sysctl nga naggamit libxo alang sa output ug paghatag sa usa ka gipalapdan nga hugpong sa mga kapilian. Ang Nsysctl mahimong magamit aron makita nga ma-monitor ang kahimtang sa mga kantidad sa sysctl ug ipakita ang kasayuran sa mga butang sa usa ka istruktura nga porma. Ang output sa XML, JSON ug HTML nga mga format posible;

Source: opennet.ru

Idugang sa usa ka comment