Kaluaran kernel Linux 5.2

Sanggeus dua bulan pangwangunan, Linus Torvalds ngenalkeun ngaleupaskeun kernel Linux Ubuntu 5.2. Diantara parobihan anu paling katingali: Modeu operasi Ext4 henteu merhatikeun, sistem anu misah nyaéta panggero pikeun masang sistem file, drivers pikeun GPU Mali 4xx/ 6xx/7xx, kamampuhan pikeun nanganan parobahan nilai sysctl dina program BPF, alat-mapper. modul dm-debu, panyalindungan ngalawan serangan MDS, rojongan pikeun Sora Buka firmware pikeun DSP, optimasi kinerja BFQ, bringing subsistem PSI (Tekanan Stall) pikeun kamungkinan pamakéan dina Android.

Versi anyar kalebet 15100 perbaikan tina 1882 pamekar,
ukuran patch - 62 MB (parobahan kapangaruhan 30889 file, 625094 garis kode ditambahkeun, 531864 baris dihapus). Ngeunaan 45% sadaya dibere dina 5.2
parobahan nu patali jeung drivers alat, kira-kira 21% parobahanana
sikep kana ngamutahirkeun kode khusus pikeun arsitéktur hardware, 12%
patali jeung tumpukan jaringan, 3% mun sistem file na 3% mun internal
subsistem kernel. 12.4% tina sagala parobahan anu disiapkeun ku Intel, 6.3% ku Red Hat, 5.4% ku Google, 4.0% ku AMD, 3.1% ku SUSE, 3% ku IBM, 2.7% ku Huawei, 2.7% ku Linaro, 2.2% ku ARM , 1.6 % - Oracle.

utama inovasi:

  • Subsistem Disk, I/O sareng Sistem File
    • Ditambahkeun pikeun Ext4 sokongan dianggo tanpa ngabedakeun kasus karakter dina ngaran file, nu diaktipkeun ngan dina hubungan diréktori kosong individu ngagunakeun atribut anyar "+ F" (EXT4_CASEFOLD_FL). Nalika atribut ieu disetél dina diréktori, sadaya operasi sareng file sareng subdirektori di jero bakal dilaksanakeun tanpa merhatikeun kasus karakter, kalebet kasusna bakal dipaliré nalika milarian sareng muka file (contona, file Test.txt, test.txt jeung test.TXT dina directories misalna bakal dianggap sarua). Sacara standar, sistem file tetep sénsitip kana hurup, iwal diréktori kalayan atribut "chattr + F";
    • Fungsi pikeun ngolah karakter UTF-8 dina nami file, anu dianggo nalika ngalakukeun perbandingan string sareng operasi normalisasi, parantos ngahijikeun;
    • XFS nambihan infrastruktur pikeun ngawaskeun kaséhatan sistem file sareng ioctl énggal pikeun naroskeun status kaséhatan. Hiji fitur ékspérimén geus dilaksanakeun pikeun pariksa counters superblock online.
    • Ditambahkeun alat-mapper modul anyar "dm-lebu", anu ngamungkinkeun anjeun pikeun simulasi penampilan blok goréng dina média atanapi kasalahan nalika maca tina disk. modul nu ngidinan Anjeun pikeun simplify debugging sarta nguji aplikasi sarta sagala rupa sistem gudang dina nyanghareupan kamungkinan gagal;
    • Dilaksanakan optimizations kinerja signifikan pikeun BFQ I / O scheduler. Dina kaayaan beban I / O tinggi, optimizations dijieun nyanggakeun Ngurangan waktos operasi sapertos ngaluncurkeun aplikasi dugi ka 80%.
    • Nambahkeun runtuyan sauran sistem pikeun masang sistem file: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() и move_mount (). Sistim panggero ieu ngidinan Anjeun pikeun misah ngolah hambalan béda tina ningkatna (prosés superblock nu, meunang informasi ngeunaan sistem file, Gunung, ngagantelkeun kana titik Gunung), nu saméméhna dipigawé maké umum Gunung () Sistim panggero. Telepon misah nyadiakeun kamampuhan pikeun ngalakukeun skenario Gunung leuwih kompleks tur ngalakukeun operasi misah kayaning reconfiguring superblock nu, sangkan pilihan, ngarobah titik Gunung, sarta pindah ka namespace béda. Sajaba ti éta, processing misah ngidinan Anjeun pikeun akurat nangtukeun alesan kaluaran kodeu kasalahan tur nyetel sababaraha sumber pikeun sistem file multi-lapisan, kayaning overlayfs;
    • Operasi anyar IORING_OP_SYNC_FILE_RANGE geus ditambahkeun kana panganteur pikeun Asynchronous I/O io_uring, nu ngalakukeun tindakan sarimbag jeung panggero sistem. sync_file_range(), sarta ogé dilaksanakeun kamampuhan pikeun ngadaptar eventfd kalawan io_uring sarta nampa bewara ngeunaan parantosan operasi;
    • Pikeun sistem file CIFS, FIEMAP ioctl geus ditambahkeun, nyadiakeun pemetaan extent efisien, kitu ogé rojongan pikeun mode SEEK_DATA na SEEK_HOLE;
    • Dina subsistem FUSE diajukeun API pikeun ngatur cache data;
    • Btrfs parantos ngaoptimalkeun palaksanaan qgroups sareng ningkatkeun kagancangan palaksanaan fsync pikeun file sareng sababaraha tautan keras. Kodeu pariksa integritas data geus ningkat, nu ayeuna nyokot akun kamungkinan karuksakan informasi dina RAM saméméh flushing data kana disk;
    • CEPH nambahkeun rojongan pikeun ékspor snapshots via NFS;
    • Palaksanaan pemasangan NFSv4 dina modeu "lemes" parantos ningkat (upami aya kasalahan dina ngaksés server dina modeu "lemes", sauran pikeun langsung ngabalikeun kodeu kasalahan, sareng dina modeu "teuas" teu dipasihkeun dugi ka FS. kasadiaan atanapi timeout disimpen deui). Kaluaran anyar nyadiakeun penanganan timeout leuwih akurat, recovery kacilakaan gancang, sarta anyar "softerr" pilihan Gunung nu ngidinan Anjeun pikeun ngarobah kodeu kasalahan (ETIMEDOUT) balik nalika timeout a;
    • API nfsdcld, dirancang pikeun ngalacak kaayaan klien NFS, ngamungkinkeun server NFS leres ngalacak kaayaan klien nalika reboot. Ku kituna, daemon nfsdcld ayeuna tiasa janten panangan nfsdcltrack;
    • Pikeun AFS ditambahkeun emulasi rentang bait konci dina file (Ngonci rentang bait);
  • Virtualisasi sareng Kaamanan
    • Karya geus dipigawé pikeun ngaleungitkeun tempat di kernel anu ngamungkinkeun palaksanaan kode ti wewengkon memori reflected ditulis, nu ngidinan blocking liang poténsi nu bisa dieksploitasi salila serangan;
    • Parameter garis paréntah kernel anyar "mitigations =" ​​geus ditambahkeun, nyadiakeun cara saderhana pikeun ngadalikeun enablement téhnik tangtu ngajaga ngalawan kerentanan pakait sareng palaksanaan spekulatif parentah dina CPU. Lulus "mitigations = off" disables sadaya métode nu aya, sarta mode standar "mitigations = otomatis" nyandak panyalindungan tapi teu mangaruhan pamakéan Hyper Threading. Modeu "mitigasi = otomatis, nosmt" ogé nganonaktipkeun Hyper Threading upami diperyogikeun ku metode panyalindungan.
    • Ditambahkeun rojongan pikeun tanda tangan digital éléktronik nurutkeun GOST R 34.10-2012 (RFC 7091, ISO / IEC 14888-3), dimekarkeun Vitaly Chikunov ti Basalt SPO. Ditambahkeun dukungan pikeun AES128-CCM kana palaksanaan TLS asli. Ditambahkeun dukungan pikeun algoritma AEAD kana modul crypto_simd;
    • Dina Kconfig ditambahkeun bagian "hardening kernel" anu misah sareng pilihan pikeun ningkatkeun panyalindungan kernel. Ayeuna, bagian anyar ngan ngandung setélan pikeun ngaktipkeun GCC pariksa-enhancing plugins;
    • Kode kernel ampir dikirimkeun ti pernyataan hal non-megatkeun di switch (tanpa balik atawa megatkeun sanggeus unggal blok hal). Tetep ngalereskeun 32 ti 2311 kasus panggunaan saklar sapertos kitu, saatos éta tiasa nganggo mode "-Wimplicit-fallthrough" nalika ngawangun kernel;
    • Pikeun arsitéktur PowerPC, rojongan pikeun mékanisme hardware pikeun ngawatesan jalur aksés kernel nu teu dihoyongkeun kana data dina spasi pamaké geus dilaksanakeun;
    • Ditambahkeun kode pameungpeuk serangan MDS (Microarchitectural Data Sampling) kelas dina prosesor Intel. Anjeun tiasa mariksa naha sistem rentan ka vulnerabilities ngaliwatan variabel SysFS "/sys/devices/system/cpu/vulnerabilities/mds". R ”РѕіЃЃ‚ѓѓѓѕѕ dua modus panyalindungan: pinuh, nu merlukeun microcode diropéa, sarta bypass, nu teu lengkep ngajamin clearing of buffers CPU nalika kontrol ditransferkeun ka spasi pamaké atawa sistem tamu. Pikeun ngadalikeun mode panyalindungan, parameter "mds =" geus ditambahkeun kana kernel, nu bisa nyandak nilai "pinuh", "pinuh,nosmt" (+ nganonaktipkeun Hyper-Threads) jeung "off";
    • Dina sistem x86-64, panyalindungan "stack-guard-page" parantos ditambahkeun pikeun IRQ, mékanisme debugging sareng panangan pengecualian, hakekatna nyaéta substitusi halaman mémori dina wates sareng tumpukan, aksés anu nuju kana generasi hiji. iwal (halaman-lepat);
    • Ditambahkeun sysctl setelan vm.unprivileged_userfaultfd, nu ngatur kamampuhan prosés unprivileged ngagunakeun userfaultfd () panggero sistem;
  • Subsistem jaringan
    • Ditambahkeun Pangrojong gateway IPv6 pikeun rute IPv4. Contona, anjeun ayeuna bisa nangtukeun aturan routing kawas "ip ro nambahkeun 172.16.1.0/24 via inet6 2001: db8:: 1 dev eth0";
    • Pikeun ICMPv6, ioctl nyauran icmp_echo_ignore_anycast sareng icmp_echo_ignore_multicast dilaksanakeun pikeun malire ICMP ECHO pikeun anycast sareng
      alamat multicast. Ditambahkeun kamampuhan pikeun ngawatesan inténsitas processing pakét ICMPv6;

    • Pikeun protokol bolong BATMAN (Better Approach To Mobile Adhoc Networking), anu ngamungkinkeun nyiptakeun jaringan desentralisasi dimana unggal titik disambungkeun ngaliwatan titik tatangga, ditambahkeun rojongan pikeun siaran ti multicast mun unicast, kitu ogé kamampuhan pikeun ngadalikeun via sysfs;
    • Dina ethtool ditambihan parameter Patalina Gancang Turun anyar, nu ngidinan Anjeun pikeun ngurangan waktu nu diperlukeun pikeun nampa informasi ngeunaan hiji acara link handap pikeun 1000BaseT (dina kaayaan normal reureuh nepi ka 750ms);
    • Nembongan kasempetan ngariung Foo-Over-UDP torowongan ka alamat husus, panganteur jaringan atawa stop kontak (saméméhna mengikat ieu dipigawé ngan ku topeng umum);
    • Dina tumpukan nirkabel diamankeun kamungkinan panangan ngalaksanakeun
      OWE (Opportunistic Wireless Encryption) dina rohangan pamaké;

    • Dina Netfilter, rojongan pikeun kulawarga alamat inet geus ditambahkeun kana ranté nat (contona, anjeun ayeuna bisa make hiji aturan tarjamah pikeun ngolah ipv4 na ipv6, tanpa misahkeun aturan pikeun ipv4 na ipv6);
    • Dina netlink ditambihan modeu ketat pikeun verifikasi ketat ngeunaan kabeneran sadaya pesen sareng atribut, dimana ukuran ekspektasi tina atribut henteu diidinan ngaleuwihan sareng tambihan data tambahan dina tungtung pesen dilarang;
  • Mémori sareng jasa sistem
    • CLONE_PIDFD bandéra geus ditambahkeun kana clone nu () panggero sistem, lamun dieusian, file descriptor "pidfd" dicirikeun ku prosés anak dijieun balik ka prosés indungna. Deskriptor file ieu, contona, tiasa dianggo pikeun ngirim sinyal tanpa sieun ngajalankeun kana kaayaan balapan (langsung saatos ngirim sinyal, target PID tiasa dibébaskeun kusabab prosés terminasi sareng dijajah ku prosés anu sanés);
    • Pikeun versi kadua cgroups, fungsionalitas freezer controller geus ditambahkeun, kalawan nu bisa ngeureunkeun gawé di cgroup sarta samentara ngosongkeun sababaraha sumberdaya (CPU, I / O, sarta malah berpotensi memori) pikeun ngalakukeun tugas séjén. Manajemén dipigawé ngaliwatan cgroup.freeze na cgroup.events ngadalikeun file dina tangkal cgroup. Éntri 1 dina cgroup.freeze ngabekukeun prosés dina cgroup ayeuna sareng sadaya grup anak. Kusabab katirisan butuh sababaraha waktos, file cgroup.events tambahan disayogikeun dimana anjeun tiasa terang ngeunaan parantosan operasi;
    • Dijamin ékspor atribut memori napel unggal titik dina sysfs, nu ngidinan Anjeun pikeun nangtukeun ti spasi pamaké alam ngolah bank memori dina sistem kalawan memori hétérogén;
    • PSI (Tekanan Stall Émbaran) subsistem geus ningkat, nu ngidinan Anjeun pikeun nganalisis informasi ngeunaan waktu ngantosan pikeun nampa rupa sumberdaya (CPU, memori, I / O) pikeun tugas tangtu atawa susunan prosés di cgroup a. Nganggo PSI, pawang rohangan pangguna tiasa langkung akurat ngira-ngira tingkat beban sistem sareng pola slowdown dibandingkeun sareng Rata-rata Beban. Versi anyar nyadiakeun pangrojong pikeun ambang sensitipitas setelan jeung kamampuhan pikeun ngagunakeun polling () nelepon pikeun nampa iber yén bangbarung set geus dipicu pikeun kurun waktu nu tangtu. Fitur ieu ngamungkinkeun Android pikeun ngawas kakurangan mémori dina tahap awal, ngaidentipikasi sumber masalah sareng ngeureunkeun aplikasi anu teu penting tanpa ngabalukarkeun masalah anu katingali ku pangguna. Nalika nguji stress, alat ngawas konsumsi memori basis PSI nunjukkeun 10 kali kirang positip palsu dibandingkeun jeung statistik vmpressure;
    • Kode pikeun mariksa program BPF parantos dioptimalkeun, anu ngamungkinkeun mariksa dugi ka 20 kali langkung gancang pikeun program ageung. Optimasi ngamungkinkeun pikeun naékkeun wates ukuran program BPF tina 4096 ka sajuta paréntah;
    • Pikeun program BPF disadiakeun kamampuhan pikeun ngakses data global, nu ngidinan Anjeun pikeun nangtukeun variabel global sarta konstanta dina program;
    • Ditambahkeun API, nu ngidinan Anjeun pikeun ngadalikeun parobahan sysctl parameter tina program BPF;
    • Pikeun arsitektur MIPS32, compiler JIT pikeun mesin virtual eBPF geus dilaksanakeun;
    • Pikeun arsitéktur PowerPC 32-bit, dukungan pikeun alat debugging KASan (Alamat Kernel sanitizer) parantos nambihan, anu ngabantosan ngaidentipikasi kasalahan nalika damel sareng mémori;
    • Dina sistem x86-64, larangan pikeun nempatkeun dumps kaayaan nalika kacilakaan kernel (crash-dump) di daérah mémori di luhur 896MB parantos dihapus;
    • Pikeun arsitéktur s390, rojongan pikeun randomization spasi alamat kernel (KASLR) jeung kamampuhan pikeun pariksa tanda tangan digital nalika loading kernel via kexec_file_load () dilaksanakeun;
    • Pikeun arsitéktur pa-RISC, ditambahkeun rojongan pikeun kernel debugger (KGDB), luncat tanda na kprobes;
  • pakakas
    • Supir kaasup Lima pikeun Mali 400/450 GPU, dipaké dina loba chip heubeul dumasar kana arsitektur ARM. Pikeun Mali GPUs anyar, supir Panfrost geus ditambahkeun, ngarojong chip dumasar kana Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) jeung Bifrost (Mali G3x, G5x, G7x) microarchitectures;
    • Ditambahkeun dukungan pikeun alat audio nganggo firmware kabuka Sora Buka Firmware (SOF). Sanaos kasadiaan supir kabuka, kode firmware pikeun chip sora tetep ditutup sareng disayogikeun dina bentuk binér. Proyék Sound Open Firmware dikembangkeun ku Intel pikeun nyiptakeun firmware kabuka pikeun chip DSP anu aya hubunganana sareng pamrosésan audio (Google engké ogé ngiringan pamekaran). Ayeuna, proyék éta parantos nyiapkeun panemuan firmware pikeun chip sora Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake sareng platform IceLake;
    • Supir Intel DRM (i915) nambihan dukungan pikeun chip
      Elkhartlake (Gen11). Ditambahkeun PCI ID pikeun Comet Lake (Gen9) chip. Rojongan pikeun chip Icelake geus stabilized, nu tambahan identifiers alat PCI ogé geus ditambahkeun.
      Dihurungkeun
      modeu Asynchronous switching antara dua panyangga dina mémori video (async flip) nalika ngajalankeun operasi nulis via mmio, nu nyata ngaronjat kinerja sababaraha aplikasi 3D (Contona, kinerja dina test 3DMark És Storm ngaronjat ku 300-400%). rojongan téhnologi ditambahkeun HDCP2.2 (High-bandwidth Digital Protection Kandungan) pikeun encrypting sinyal video dikirimkeun via HDMI;

    • Supir amdgpu pikeun Vega20 GPU ditambahkeun rojongan pikeun RAS (reliabilitas, kasadiaan, Serviceability) jeung rojongan eksperimen pikeun SMU 11 subsistem, nu diganti téhnologi Powerplay. Pikeun GPU Vega12 ditambahkeun rojongan pikeun modeu BACO (Bus Active, Chip Pareum). Ditambahkeun rojongan awal pikeun XGMI, beus-speed tinggi (PCIe 4.0) pikeun interkonéksi GPU. Ditambahkeun identifiers leungit pikeun kartu dumasar kana Polaris10 GPU ka supir amdkfd;
    • Supir Nouveau parantos nambihan dukungan pikeun papan dumasar kana chipset NVIDIA Turing 117 (TU117, dianggo dina GeForce GTX 1650). DI
      kconfig ditambahkeun setelan pikeun nganonaktipkeun pungsi luntur anu henteu dianggo deui dina sékrési libdrm ayeuna;

    • Rojongan pikeun objék sinkronisasi "garis waktu" geus ditambahkeun kana API DRM jeung supir amdgpu, ngamungkinkeun Anjeun pikeun ngalakukeun tanpa blocking Palasik.
    • Supir vboxvideo pikeun VirtualBox virtual GPU geus dipindahkeun tina cabang pementasan kana struktur utama;
    • Ditambahkeun supir aspeed pikeun chip GFX SoC ASPEED;
    • Ditambahkeun dukungan pikeun ARM SoC sareng Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, , Beelink GS2 (H6), Oranyeu Pi 3 (H6)), Rockchip (Oranyeu Pi). ) papan 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).

Dina waktos anu sami, Yayasan Perangkat Lunak Gratis Amérika Latin kabentuk
pilihan lengkep bebas kernel 5.2 - Linux-bébas 5.2-gnu, diberesihan tina firmware sareng elemen supir anu ngandung komponén non-gratis atanapi bagian kode, ruang lingkup anu diwatesan ku produsén. Pelepasan anyar kalebet unggah file
Sora Buka Firmware. Loading of blobs di drivers ditumpurkeun
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp sareng ucsi_ccg. Kode beberesih blob dina ixp4xx, imx-sdma, amdgpu, nouveau sareng goya supir sareng subsistem, ogé dina dokuméntasi microcode, parantos diropéa. Dieureunkeun blobs beberesih di supir r8822be alatan panyabutan na.

sumber: opennet.ru

Tambahkeun komentar