Ho lokolloa ha kernel ea Linux 5.8

Kamora likhoeli tse peli tsa nts'etsopele, Linus Torvalds tsebisoa ho lokolloa ha kernel Linux 5.8. Har'a liphetoho tse hlokomelehang ka ho fetisisa: mochine oa boemo ba lebelo la KCSAN, mochine oa bokahohle oa ho fana ka litsebiso sebakeng sa mosebedisi, tšehetso ea hardware bakeng sa encryption ea inline, mekhoa e ntlafalitsoeng ea ts'ireletso bakeng sa ARM64, tšehetso bakeng sa processor ea Baikal-T1 ea Russia, bokhoni ba ho beha maemo a procfs ka thoko. , ts'ebetsong ea mekhoa ea ts'ireletso ea Shadow bakeng sa ARM64 Call Stack le BTI.

Kernel 5.8 e bile kholo ka ho fetisisa ho latela palo ea liphetoho tsa lithollo tsohle nakong ea ho ba teng ha morero. Ho feta moo, liphetoho ha li amane le tsamaiso e le 'ngoe, empa li koahela likarolo tse fapaneng tsa kernel' me haholo-holo li amahanngoa le ho tsosolosa ka hare le ho hloekisa. Liphetoho tse kholo ka ho fetisisa li bonoa ho bakhanni. Phetolelo e ncha e kenyelelitse litokiso tse 17606 tse tsoang ho baetsi ba 2081, tse ileng tsa ama hoo e ka bang 20% ​​ea lifaele tsohle tse polokelong ea kernel code. Boholo ba patch ke 65 MB (liphetoho tse amang lifaele tsa 16180, mela ea khoutu ea 1043240 e kenyelitsoe, mela ea 489854 e ile ea hlakoloa). Ha ho bapisoa, lekala la 5.7 le bile le litokiso tse 15033 le boholo ba patch ea 39 MB. Hoo e ka bang 37% ea liphetoho tsohle tse hlahisitsoeng ho 5.8 li amana le bakhanni ba lisebelisoa, hoo e ka bang 16% ea liphetoho li amana le ho ntlafatsa khoutu e khethehileng ho meralo ea hardware, 11% e amana le stack ea marang-rang, 3% e amana le tsamaiso ea lifaele, le 4% li amana le li-subsystem tsa kernel tse ka hare.

ka sehloohong boiqapelo:

  • Virtualization le Tšireletso
    • Ho romelloa ha li-module tsa kernel tse nang le likarolo tse nang le khoutu eo ho eona li-bits tse lumellang ho etsoa le ho ngola li behiloeng ka nako e le 'ngoe. Phetoho e ile ea kenngoa ts'ebetsong e le karolo ea morero o moholoanyane oa ho tlosa kernel ea tšebeliso ea maqephe a memori a lumellang ho etsoa le ho ngola ka nako e le 'ngoe.
    • Hona joale hoa khoneha ho theha maemo a arohaneng a li-procfs, a lumellang ts'ebeliso ea lintlha tse ngata tsa procfs, tse kentsoeng ka likhetho tse fapaneng, empa li bonts'a sebaka sa lebitso la sekhetho se tšoanang (pid namespace). Pejana, lintlha tsohle tsa li-procfs li ne li bonts'a setšoantšo se le seng sa kahare, 'me phetoho efe kapa efe ho liparamente tsa thaba e ile ea ama lintlha tse ling kaofela tse amanang le sebaka sa mabitso sa ID. Har'a libaka tseo ho hlongoa ka likhetho tse fapaneng ho ka 'nang ha hlokahala ke ts'ebetsong ea ho itšehla thajana ho bobebe bakeng sa litsamaiso tse kentsoeng tse nang le bokhoni ba ho pata mefuta e itseng ea lits'ebetso le li-node tsa tlhahisoleseling ho li-procfs.
    • Ts'ehetso ea mochini e kentsoe tšebetsong sethaleng sa ARM64
      Shadow-Call Stack, e fanoeng ke motlalehi oa Clang ho itšireletsa khahlanong le ho hlakola aterese ea ho khutlisa ea ts'ebetso ha ho ka ba le buffer ea stack buffer. Ntho ea bohlokoa ea tšireletso ke ho boloka aterese ea ho khutlisa ka har'a "moriti" o arohaneng ka mor'a ho fetisetsa taolo mosebetsing le ho fumana aterese ena pele o tsoa mosebetsing.

    • Tšehetso ea litaelo e kenyelelitsoe sethaleng sa ARM64 ARMv8.5-BTI (Branch Target Indicator) ho sireletsa ho phethahatsoa ha lihlopha tsa litaelo tse sa lokelang ho ba le makala ho. Ho thibela liphetoho ho likarolo tse hanyetsanang tsa khoutu ho kenngoa ts'ebetsong ho thibela ho thehoa ha lisebelisoa ka mekhoa e sebelisoang ka mokhoa oa ho khutlela morao (ROP - Return-Oriented Programming; mohlaseli ha a leke ho beha khoutu ea hae mohopolong, empa o sebetsa likarolong tse seng li ntse li le teng. ea litaelo tsa mochini tse qetellang ka taelo ea taolo ea ho khutla, eo ho eona ho hahoang ketane ea mehala ho fumana tšebetso e batloang).
    • Ts'ehetso ea lisebelisoa tse kenyellelitsoeng bakeng sa encryption ea inline ea lisebelisoa tsa block (Inline Encryption). Lisebelisoa tsa inlinep encryption hangata li hahiloe ka har'a drive, empa li fumaneha ka mokhoa o utloahalang lipakeng tsa memori ea sistimi le disk, li patala pepeneneng le ho hlakola I/O ho ipapisitsoe le linotlolo tse boletsoeng ke kernel le algorithm ea encryption.
    • E kentse khetho ea "initrdmem" kernel line line ho u lumella ho hlakisa aterese ea memori ea "initrd" ha u beha setšoantšo sa pele sa boot ho RAM.
    • E kentse bokhoni bo bocha: CAP_PERFMON ea ho fihlella tsamaiso e tlase ea perf le ho etsa tlhahlobo ea ts'ebetso. CAP_BPF, e lumellang tšebetso e itseng ea BPF (e kang ho kenya mananeo a BPF) ao pele a neng a hloka litokelo tsa CAP_SYS_ADMIN (litokelo tsa CAP_SYS_ADMIN joale li arotsoe ka motsoako oa CAP_BPF, CAP_PERFMON, le CAP_NET_ADMIN).
    • E kentsoe sesebelisoa se secha sa virtio-mem se o lumellang hore o hote-plug le memori e chesang ho litsamaiso tsa baeti.
    • Keletso e kentsoeng ea ts'ebetso ea 'mapa ho /dev/mem haeba mokhanni oa sesebelisoa a sebelisa libaka tsa memori tse fetang.
    • Tšireletso e ekelitsoeng ea ts'ireletso MOKHOA OA MOKHOA OA HO PHELA, e leng se u lumellang hore u tsosolose liphetho tsa litaelo tse itseng tse entsoeng motheong o mong oa CPU.
  • Litšebeletso tsa memori le tsamaiso
    • Tokomaneng e hlalosang melao ea ho fomata khoutu, amoheloa likhothaletso tsa tšebeliso ea mantsoe a kenyeletsang. Bahlahisi ha ba khothalletsoe ho sebelisa motsoako 'master / lekhoba' le 'blacklist / whitelist', hammoho le lentsoe 'lekhoba' ka thoko. Litlhahiso li ama feela tšebeliso e ncha ea mantsoe ana. Ho boleloa ha mantsoe a boletsoeng a seng a ntse a le teng mantlha a tla lula a sa sebetsoe. Khoutung e ncha, tšebeliso ea mantsoe a tšoailoeng e lumelloa haeba ho hlokahala ho ts'ehetsa API le ABI e pepesitsoe sebakeng sa mosebelisi, hammoho le ha ho ntlafatsoa khoutu ho ts'ehetsa lisebelisoa tse teng kapa liprothokholo tseo litlhaloso tsa tsona li hlokang ho sebelisoa ha mantsoe a itseng.
    • Sesebelisoa sa ho lokisa se kenyelelitsoe KCSAN (Kernel Concurrency Sanitizer), e etselitsoeng ho lemoha ka matla maemo a morabe ka hare ho mokokotlo. Tšebeliso ea KCSAN e tšehetsoa ha e haha ​​​​GCC le Clang, 'me e hloka liphetoho tse khethehileng ka nako ea ho bokella ho latela phihlello ea mohopolo (li-breakpoints li sebelisoa tse hlahisoang ha memori e baloa kapa e fetoloa). Maikutlo a nts'etsopele ea KCSAN e ne e le thibelo e nepahetseng ea bohata, scalability, le boiketlo ba tšebeliso.
    • E kentsoe motjhini wa bokahohle ho fana ka litsebiso ho tloha kernel ho ea sebakeng sa mosebedisi. Mochini o ipapisitse le mokhanni oa lipeipi tse tloaelehileng mme o o lumella ho aba litemoso ka nepo ho tsoa kernel holim'a liteishene tse bulehileng sebakeng sa basebelisi. Lintlha tse amohelang tsebiso ke liphaephe tse butsoeng ka mokhoa o khethehileng 'me li lumella melaetsa e amohetsoeng ho tsoa kernel hore e bokelloe ka har'a ring buffer. Ho bala ho etsoa ke mosebetsi o tloaelehileng oa read(). Mong'a mocha o etsa qeto ea hore na ke mehloli efe ea kernel e lokelang ho behoa leihlo mme a ka hlalosa sefe ho hlokomoloha mefuta e itseng ea melaetsa le liketsahalo. Har'a liketsahalo, ke ts'ebetso e nang le linotlolo feela e tšehetsoang hajoale, joalo ka ho eketsa / ho tlosa linotlolo le ho fetola litšobotsi tsa tsona. Liketsahalo tsena li reretsoe ho sebelisoa ho GNOME.
    • Nts'etsopele e tsoelang pele ea ts'ebetso ea 'pidfd' ho thusa ho sebetsana le maemo a ts'ebeliso ea PID (pidfd e amahanngoa le ts'ebetso e itseng 'me ha e fetohe, athe PID e ka amahanngoa le ts'ebetso e' ngoe kamora hore ts'ebetso ea hajoale e amanang le PID eo e felile). Mofuta o mocha o eketsa ts'ehetso ea ho sebelisa pidfd ho hokela ts'ebetso ho libaka tsa mabitso (ho lumella pidfd ho hlalosoa ha o etsa mohala oa sistimi ea sets). Ho sebelisa pidfd ho u lumella ho laola sehokelo sa ts'ebetso ho mefuta e mengata ea libaka tsa mabitso ka mohala o le mong, ho fokotsa haholo palo ea mehala e hlokahalang ea sistimi le ho kenya tšebetsong sehokelo ka mokhoa oa athomo (haeba sehokelo ho se seng sa libaka tsa mabitso se hloleha, tse ling li ke ke tsa hokela) .
    • E kentse mohala o mocha oa sistimi facecessat2(), e fapaneng le
      faceat() khang e eketsehileng le lifolakha tse tsamaellanang le likhothaletso tsa POSIX (pele lifolakha tsena li ne li etsisoa laebraring ea C, 'me faceseat2 e ncha e li lumella ho kengoa tšebetsong kernel).

    • Ka Sehlopha eketsoe memori.swap.setting e phahameng e ka sebedisoang ho fokotsa mesebetsi e nkang sebaka se sengata sa ho fapanyetsana.
    • Ho segokanyimmediamentsi sa sebolokigolo sa I/O io_ring tšehetso e eketsehileng bakeng sa tee() mohala oa sistimi.
    • Mochini o ekelitsoeng "Phetolelo ea BPF, e etselitsoeng ho hlahisa litaba tsa kernel sebakeng sa mosebelisi.
    • Fanetsoe bokhoni ba ho sebelisa ring buffer bakeng sa phapanyetsano ea data lipakeng tsa mananeo a BPF.
    • Ka har'a mochine padata, e etselitsoeng ho hlophisa ts'ebetso e ts'oanang ea mesebetsi ka har'a kernel, tšehetso e eketsehileng bakeng sa mesebetsi e nang le likhoele tse ngata ka ho leka-lekanya mojaro.
    • Mochini oa pstore, o u lumellang ho boloka tlhahisoleseling mabapi le sesosa sa ho senyeha ha libaka tsa memori tse sa lahleheng pakeng tsa ho qala bocha, eketsa backend bakeng sa ho boloka tlhahisoleseling ho thibela lisebelisoa.
    • Ho tsoa lekaleng la PREEMPT_RT kernel suthile ts'ebetsong ea liloko tsa lehae.
    • E kentsoe New buffer allocation API (AF_XDP), e reretsoeng ho nolofatsa ho ngola ha bakhanni ba marang-rang ka tšehetso ea XDP (eXpress Data Path).
    • Bakeng sa meralo ea RISC-V, ts'ehetso ea ho lokisa likarolo tsa kernel e sebelisang KGDB e kentsoe tšebetsong.
    • Pele ho lokolloa 4.8, litlhoko tsa mofuta oa GCC tse ka sebelisoang ho haha ​​​​kernel li ekelitsoe. Ho e 'ngoe ea litokollo tse latelang ho reriloe ho phahamisa bar ho GCC 4.9.
  • Disk Subsystem, I/O le File Systems
    • Ho Mapper ea Sesebelisoa eketsa new dm-ebs (emulate block size) handler, e ka sebelisoang ho etsisa boholo bo bonyenyane bo utloahalang ba boloko (mohlala, ho etsisa likarolo tsa 512-byte ho li-disk tsa boholo ba karolo ea 4K).
    • Sistimi ea faele ea F2FS joale e ts'ehetsa compression e sebelisa algorithm ea LZO-RLE.
    • Ka dm-crypt eketsoe tšehetso bakeng sa linotlolo tse patiloeng.
    • Btrfs e ntlafalitse ho sebetsana le ts'ebetso ea ho bala ka mokhoa o tobileng oa I/O. Ha o hloella potlakisitsoe ho hlahloba likaroloana tse hlakotsoeng le li-directory tse setseng ntle le motsoali.
    • "Nodelete" parameter e kenyelelitsoe ho CIFS, e lumella ho hlahloba tumello e tloaelehileng ho seva, empa e thibela mofani ho hlakola lifaele kapa li-directory.
    • Ext4 e ntlafalitse ho sebetsana le liphoso ENOSPC ha o sebedisa multithreading. xattr e kentse tšehetso bakeng sa gnu.* sebaka sa mabitso se sebelisitsoeng ho GNU Hurd.
    • Bakeng sa Ext4 le XFS, ts'ehetso ea ts'ebetso ea DAX e nolofalitsoe (ho fihlella ka ho toba tsamaisong ea lifaele, ho feta cache ea leqephe ntle le ho sebelisa boemo ba sesebelisoa sa block) mabapi le lifaele le li-directory ka bomong.
    • Ka mohala oa sistimi statx() folakha e ekelitsoe STATX_ATTR_DAX, eo ha e hlalositsoe, e fumanang boitsebiso bo sebelisa mochine oa DAX.
    • EXFAT eketsoe tšehetso bakeng sa ho netefatsa sebaka sa boot.
    • Ka FAT ntlafatsoa ho kenya tšebetsong likarolo tsa FS. Ho etsa teko ea butle ea 2TB USB drive ho bonts'itse phokotso ea nako ea ho phethela liteko ho tloha ho 383 ho isa ho metsotsoana e 51.
  • Sistimi e nyane ea marang-rang
    • Ka khoutu ea ho laola ts'ebetso ea marokho a marang-rang eketsoe tšehetso ea protocol MRP (Media Redundancy Protocol), e lumellang mamello ea liphoso ka ho theola li-switch tse ngata tsa Ethernet.
    • Ho sistimi ea taolo ea sephethephethe (Tc) eketsoe ketso e ncha ea "heke", e etsang hore ho khonehe ho hlalosa linako tsa nako bakeng sa ho sebetsa le ho lahla lipakete tse itseng.
    • Ts'ehetso ea ho hlahloba thapo ea marang-rang e hokahaneng le ho itlhahloba ha lisebelisoa tsa marang-rang ho kentsoe kernel le ts'ebeliso ea ethtool.
    • Tšehetso bakeng sa algorithm ea MPLS (Multiprotocol Label Switching) e kenyelelitsoe ho IPv6 stack bakeng sa ho tsamaisa lipakete ho sebelisa multiprotocol label switching (MPLS e ne e tšehetsoa pele bakeng sa IPv4).
    • Ts'ehetso e ekelitsoeng bakeng sa phetisetso ea IKE (Internet Key Exchange) le lipakete tsa IPSec holim'a TCP (RFC 8229) ho feta ho thibela UDP ho khoneha.
    • E kentsoe netweke thibela sesebelisoa rnbd, e leng se u lumellang hore u hlophise phihlello e hole ho sesebelisoa sa block u sebelisa sepalangoang sa RDMA (InfiniBand, RoCE, iWARP) le protocol ea RTRS.
    • Ka har'a stack ea TCP eketsoe ts'ehetso bakeng sa khatello ea mefuta-futa ho likarabo tse khethiloeng tsa tumello (SACK).
    • Bakeng sa IPv6 kenngwa tshebetsong Tšehetso ea TCP-LD (RFC 6069, Litšitiso tse telele tsa Khokahano).
  • Lisebelisoa
    • Mokhanni oa i915 DRM bakeng sa likarete tsa video tsa Intel o kenyelletsa tšehetso bakeng sa li-chips tsa Intel Tiger Lake (GEN12) ka ho sa feleng, tseo bakeng sa tsona. kenngwa tshebetsong bokhoni ba ho sebelisa mokhoa oa SAGV (System Agent Geyserville) ho fetola ka matla maqhubu le motlakase ho itšetlehile ka tšebeliso ea matla kapa litlhoko tsa tshebetso.
    • Mokhanni oa amdgpu o kentse tšehetso bakeng sa sebopeho sa pixel sa FP16 le bokhoni ba ho sebetsa ka li-buffers tse patiloeng mohopolong oa video (TMZ, Trusted Memory Zone).
    • Tšehetso e ekelitsoeng bakeng sa li-sensor tsa matla bakeng sa li-processor tsa AMD Zen le Zen2, hammoho le lisebelisoa tsa mocheso bakeng sa AMD Ryzen 4000 Renoir. Ts'ehetso ea ho khutlisa tlhahisoleseling ea tšebeliso ea matla ka sehokelo ho fanoa bakeng sa AMD Zen le Zen2 RAPL (Running Average Power Limit).
    • Tšehetso e ekelitsoeng bakeng sa sebopeho sa NVIDIA sa mokhanni oa Nouveau. Bakeng sa gv100, bokhoni ba ho sebelisa mekhoa ea ho hlahloba e hokahaneng e kentsoe tšebetsong. E kentse tlhaloso ea vGPU.
    • Tšehetso e ekelitsoeng bakeng sa Adreno A405, A640 le A650 GPUs ho mokhanni oa MSM (Qualcomm).
    • E kentsoe moralo oa kahare oa ho laola lisebelisoa tsa DRM (Direct Rendering Manager).
    • Tšehetso e ekelitsoeng bakeng sa li-smartphones tsa Xiaomi Redmi Note 7 le Samsung Galaxy S2, hammoho le lilaptop tsa Elm/Hana Chromebook.
    • Bakhanni ba ekelitsoeng bakeng sa liphanele tsa LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Ts'ehetso e ekelitsoeng bakeng sa liboto tsa ARM le li-platform Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinu-LIMEXM50MC-XNUMXMXNUMXMC, Check-LIMEXM-XNUMXMC
      , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.

    • Tšehetso e ekelitsoeng bakeng sa processor ea MIPS Loongson-2K (e khutsufalitsoeng Loongson64). Bakeng sa CPU Loongson 3, tšehetso ea virtualization e sebelisang hypervisor ea KVM e kentsoe.
    • E kentsoe
      ts'ehetso bakeng sa processor ea Russia ea Baikal-T1 le sistimi-on-chip e thehiloeng ho eona BE-T1000. Baikal-T1 processor e na le li-cores tse peli tsa P5600 MIPs 32 r5 tse sebetsang ho 1.2 GHz. The chip e na le L2 cache (1 MB), DDR3-1600 ECC memori controller, 1 10Gb Ethernet port, 2 1Gb Ethernet likoung, PCIe Gen.3 x4 molaoli, 2 SATA 3.0 likoung, USB 2.0, GPIO, UART, SPI, I2C. Motlakase o fana ka tšehetso ea hardware bakeng sa virtualization, litaelo tsa SIMD le accelerator e kopantsoeng ea hardware cryptographic e tšehetsang GOST 28147-89. Chip e hlahisoa ho sebelisoa MIPS32 P5600 Warrior processor unit e nang le laesense ho tsoa ho Imagination Technologies.

Ka nako e ts'oanang, Latin American Free Software Foundation thehoa
khetho kernel e sa lefelloeng ka ho feletseng 5.8 - Linux mahala 5.8-gnu, e hlakotsoe ka lisebelisoa tsa firmware le mokhanni tse nang le likarolo tse sa lefelloeng kapa likarolo tsa khoutu, sebaka sa eona se lekanyelitsoeng ke moetsi. Tokollo e ncha e thibela ho kenngoa ha blob ho bakhanni ba Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390, Audio Processing MAX38060, Microsemior Connection ea Lehae ea AmpL2, Microsemior 86 ZZL6656 le IXNUMXC EEPROM Slave. Khoutu e ntlafalitsoeng ea ho hloekisa blob ho Adreno GPU, HabanaLabs Goya, xXNUMX touchscreen, vtXNUMX le btbcm driver le subsystems.

Source: opennet.ru

Eketsa ka tlhaloso