Laporan Kemajuan FreeBSD Q2019 XNUMX

diterbitake laporan babagan pangembangan proyek FreeBSD wiwit April nganti Juni 2019. Antarane owah-owahan sing bisa dicathet:

  • Masalah umum lan sistemik
    • Tim inti mutusake nggawe grup kerja kanggo njelajah kemungkinan mindhah kode sumber saka sistem kontrol sumber Subversion terpusat menyang sistem Git sing didesentralisasi.
    • Nindakake pengujian fuzz kernel FreeBSD nggunakake sistem kasebut syzkaller lan sawetara kasalahan dikenali wis didandani. Nambahake lapisan kanggo nguji perpustakaan sing ora jelas kanggo kompatibilitas karo lingkungan 32-bit ing sistem kanthi kernel 64-bit. Kemampuan kanggo mbukak syzkaller ing mesin virtual basis bhyve wis dipun ginakaken. Ing tataran sabanjure, direncanakake kanggo nggedhekake jangkoan tes telpon sistem, nggunakake sanitizer LLVM kanggo mriksa kernel, nggunakake netdump kanggo nyimpen dumps kernel nalika kacilakan sajrone testing fuzzing, lsp.
    • Karya wis diwiwiti kanggo nganyari implementasi zlib ing tingkat kernel. Kanggo akses kernel menyang kode zlib, direktori contrib / zlib diganti jeneng dadi sys / contrib / zlib, lan file header crc.h uga diganti jeneng supaya ora konflik karo zlib / crc.h. Diresiki kode warisan sing gumantung ing zlib lan inflate. Sabanjure, direncanakake nyedhiyakake kemampuan kanggo mbangun kernel bebarengan karo zlib lawas lan anyar kanggo transfer bertahap menyang versi anyar fungsi sing nggunakake kompresi;
    • Infrastruktur emulasi lingkungan Linux (Linuxulator) wis dianyari. Ndhukung dhukungan kanggo alat debugging Linux kayata sarana strace. Paket linux-c7-strace wis ditambahake menyang bandar, sing bisa digunakake kanggo nglacak file eksekusi Linux tinimbang truss standar lan keperluan ktrace, sing durung bisa decode sawetara panji lan struktur khusus Linux. Kajaba iku, paket linux-ltp karo eksekusi Linux Test Project wis ditambahake lan masalah kompatibilitas karo eksekusi sing disambung karo versi anyar glibc wis dirampungake;
    • Implementasine operasi invalidasi telat ing mekanisme pmap wis ditransfer kanggo nggunakake algoritma Processing antrian sing dianggo tanpa kunci, kang wis bisa kanggo ngatasi masalah skalabilitas nalika nindakake nomer akeh operasi unmap paralel;
    • Mekanisme kanggo pamblokiran vnode sak eksekusi telpon sistem saka execve () kulawarga wis diganti, kang wis digawe iku bisa kanggo entuk efficiency tambah nalika bebarengan eksekusi execve () kanggo file padha (Contone, nalika nindakake operasi Déwan karo parallelization. saka peluncuran compiler);
  • Keamanan
    • Hypervisor bhyve terus nambah support kanggo Live migrasi lingkungan tamu saka siji inang menyang liyane lan fungsi Simpen / Mulihake, sing ngijini sampeyan kanggo beku sistem tamu, nyimpen negara kanggo file, lan banjur nerusake eksekusi.
    • Liwat panggunaan perpustakaan libvdsk, bhyve nambahake dhukungan kanggo gambar disk ing format QCOW2. Mbutuhake instalasi kanggo bisa
      khusus dipunéwahi versi bhyve, sing wis diowahi kanggo nggunakake handler operasi file adhedhasar libvdsk. Sajrone periode laporan, libvdsk uga nindakake pakaryan kanggo nyederhanakake integrasi dhukungan kanggo format anyar, ningkatake kinerja maca lan nulis, lan nambah dhukungan kanggo Copy-On-Write. Saka tugas sing isih ana, integrasi libvdsk menyang struktur utama bhyve kacathet;

    • Sistem kanggo ngumpulake informasi lalu lintas wis ditambahake menyang bandar
      Maltrail, sing ngidini sampeyan nggawe jebakan kanggo panjalukan jaringan sing ala (IP lan domain saka daftar ireng dicenthang) lan ngirim informasi babagan aktivitas sing dideteksi menyang server terpusat kanggo pamblokiran utawa analisis upaya serangan sabanjure;

    • Platform wis ditambahake menyang port kanggo ndeteksi serangan, nganalisa log lan ngawasi integritas file Wazuh (garpu Ossec kanthi dhukungan kanggo integrasi karo ELK-Tumpukan);
  • Subsistem jaringan
    • Pembalap ena wis dianyari kanggo ndhukung adaptor jaringan ENAv2 (Elastic Network Adapter) generasi kapindho sing digunakake ing infrastruktur Elastic Compute Cloud (EC2) kanggo ngatur komunikasi antarane kelenjar EC2 kanthi kecepatan nganti 25 Gb / s. Dhukungan NETMAP wis ditambahake menyang driver ena.
    • FreeBSD HEAD nganggo tumpukan MMC/SD anyar, adhedhasar kerangka CAM lan ngidini sampeyan nyambungake piranti karo antarmuka SDIO (Secure Digital I/O). Contone, SDIO digunakake ing WiFi lan modul Bluetooth kanggo akeh Papan, kayata Raspberry Pi 3. Tumpukan anyar uga ngidini antarmuka CAM digunakake kanggo ngirim printah SD saka aplikasi ing papan pangguna, kang ndadekake iku bisa kanggo nggawe piranti. driver sing operate ing tingkat pangguna. Karya wis diwiwiti kanggo nggawe driver kanggo Kripik nirkabel Broadcom sing operasi ing mode FullMAC (ing sisih chip nganggo semblance saka sistem operasi dhewe karo implementasine saka tumpukan nirkabel 802.11);
    • Kerjane ditindakake kanggo ngleksanakake NFSv4.2 (RFC-7862) kanggo FreeBSD. Versi anyar saka NFS nambah support kanggo posix_fadvise, fungsi posix_fallocate, SEEKHOLE / mode SEEKDATA ing lseek, lan operasi Nyalin lokal bagean file ing server (tanpa transfer kanggo klien).

      FreeBSD saiki nyedhiyakake dhukungan dhasar kanggo operasi LayoutError, IOAdvise, Allocate, lan Copy. Kabeh sing isih ana yaiku ngleksanakake operasi Seek sing dibutuhake kanggo nggunakake lseek(SEEKHOLE/SEEKDATA) karo NFS. Dhukungan NFSv4.2 direncanakake kanggo FreeBSD 13;

  • Sistem panyimpenan lan file
    • Proyek kanggo ngolah maneh driver kanggo subsistem FUSE (Sistem File ing USErspace), sing ngidini nggawe implementasi sistem file ing ruang pangguna, wis meh rampung. Driver sing diwenehake asline wis lawas lan akeh bug. Minangka bagéan saka proyek modernisasi driver, dhukungan kanggo protokol FUSE 7.23 dileksanakake (sadurunge versi 7.8, dirilis 11 taun kepungkur didhukung), kode ditambahake kanggo mriksa hak akses ing sisih kernel ("-o default_permissions"), nelpon menyang VOP_MKNOD, VOP_BMAP lan VOP_ADVLOCK ditambahake, kemampuan kanggo ngganggu operasi FUSE, nambahake dhukungan kanggo pipa sing ora dijenengi lan soket unix ing sekring, kemampuan kanggo nggunakake kqueue kanggo / dev / sekring, diijini nganyari paramèter gunung liwat "mount -u", nambah dhukungan kanggo ngekspor fusef liwat NFS, dipun ginakaken RLIMIT_FSIZE accounting, ditambahaké FOPEN_KEEP_CACHE flag lan FUSE_ASYNC_READ, optimizations kinerja wujud wis digawe lan organisasi caching wis apik;
    • Dhukungan kanggo operasi BIO_DELETE wis ditambahake menyang kode swap pager, sing ngidini sampeyan nggunakake printah TRIM nalika mbusak blok saka drive SSD kanggo nambah urip layanan.
  • Dhukungan hardware
    • Pakaryan terus ngetrapake dhukungan kanggo ARM64 SoC Broadcom BCM5871X kanthi prosesor ARMv8 Cortex-A57, sing dituju kanggo digunakake ing router, gateway lan panyimpenan jaringan. Sajrone periode nglaporake, dhukungan kanggo bus iProc PCIe internal lan eksternal ditingkatake, dhukungan kanggo BNXT Ethernet ditambahake, lan digunakake kanggo nggunakake mesin crypto sing dibangun kanggo nyepetake IPsec. Integrasi kode menyang cabang HEAD samesthine ing paruh kapindho taun;
    • Karya wis diwiwiti kanggo dhukungan kanggo 64-bit SoC NXP LS1046A adhedhasar prosesor ARMv8 Cortex-A72 kanthi mesin percepatan pangolahan paket jaringan terpadu, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 lan USB 3.0. Dhukungan kanggo platform dhasar (multi-user SMP) lan SATA 3.0 wis dileksanakake. Dhukungan kanggo USB 3.0, SD / MMC lan I2C lagi dikembangake. Rencana kasebut kalebu dhukungan kanggo Ethernet, GPIO lan QSPI. Rampung karya lan inklusi ing cabang HEAD samesthine ing kuartal kaping 4 2019.
    • Pembalap mlx5en lan mlx5ib sing dianyari kanggo adaptor Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], lan ConnectX-6 [Dx] Ethernet lan InfiniBand. Dhukungan tambahan kanggo adaptor Mellanox Socket Direct (ConnectX-6), ngidini throughput nganti 200Gb / s ing bus PCIe Gen 3.0. Kanggo chip BlueField multi-inti, dhukungan kanggo driver RShim wis ditambahake. Paket mstflint karo sakumpulan keperluan diagnostik kanggo adaptor Mellanox wis ditambahake menyang port;
  • Aplikasi lan sistem port
    • Komponen tumpukan grafis wis dianyari. Driver drm.ko (Direct Rendering Manager) wis ditransfer saka kernel Linux 5.0. Pembalap iki dianggep eksperimen lan wis ditambahake ing wit bandar minangka grafis / drm-devel-kmod. Wiwit pembalap nggunakake kerangka KPI Linux sing dianyari supaya kompatibel karo API DRM kernel Linux, FreeBSD CURRENT kudu mbukak. Driver vboxvideo.ko drm kanggo VirtualBox virtual GPU uga wis njejeri saka Linux. paket Mesa wis dianyari kanggo release 18.3.2 lan diuripake kanggo nggunakake LLVM saka devel / port llvm80 tinimbang devel / llvm60.
    • Wit port FreeBSD wis ngluwihi 37000 port, jumlah PR sing ora ditutup tetep ana 2146. Sajrone periode laporan, 7837 owah-owahan digawe saka 172 pangembang. Telung peserta anyar nampa hak committer. Antarane nganyari versi pinunjul ing bandar punika: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Kabeh port Go wis diowahi kanggo nggunakake gendéra "USES=go". Added "USES = cabal" flag menyang manager paket Cabal digunakake kanggo kode Haskell. Mode proteksi tumpukan sing ketat diaktifake. Versi Python standar yaiku 3.6 tinimbang 2.7.
    • Rilis sarana wis disiapake nsysctl 1.0, sing nawakake analog kanggo / sbin / sysctl sing nggunakake libxo kanggo output lan nyediakake pesawat ditambahi opsi. Nsysctl bisa digunakake kanggo ngawasi kanthi visual kahanan nilai sysctl lan menehi informasi babagan obyek ing wangun terstruktur. Output ing XML, JSON lan format HTML bisa;

Source: opennet.ru

Add a comment