Нашри ядрои Linux 5.11

Пас аз ду моҳи таҳия, Линус Торвалдс барориши ядрои Linux 5.11-ро пешниҳод кард. Дар байни тағйироти назаррас: дастгирии анклавҳои Intel SGX, механизми нави боздоштани зангҳои системавӣ, автобуси ёрирасони виртуалӣ, манъи васл кардани модулҳо бидуни MODULE_LICENSE(), режими филтркунии зуд барои зангҳои система дар seccomp, қатъи дастгирии меъмории ia64, интиқоли технологияи WiMAX ба шохаи "саҳнасозӣ", қобилияти фарогирии SCTP дар UDP.

Версияи нав 15480 ислоҳи 1991 таҳиягарро дар бар мегирад, андозаи часпак 72 МБ аст (тағирот ба 12090 файл таъсир расонд, 868025 сатри код илова карда шуд, 261456 сатр нест карда шуд). Тақрибан 46% ҳамаи тағиротҳои дар 5.11 воридшуда ба драйверҳои дастгоҳ, тақрибан 16% тағирот ба навсозии коди мушаххаси архитектураи сахтафзор, 13% ба стеки шабакавӣ, 3% ба системаҳои файлӣ ва 4% марбутанд. бо зерсистемаҳои ядрои дохилӣ алоқаманданд.

Навовариҳои асосӣ:

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Якчанд имконоти васлкунӣ ба Btrfs барои истифода ҳангоми барқарор кардани маълумот аз системаи файлии вайроншуда илова карда шуданд: "rescue=ignorebadroots" барои васлкунӣ, сарфи назар аз осеб ба баъзе дарахтони реша (дараҷа, uuid, reloc data, дастгоҳ, csum, фазои озод), " rescue=ignoredatacsums” барои ғайрифаъол кардани санҷиши маблағи санҷиши маълумот ва “rescue=all” барои фаъол кардани ҳамзамон режимҳои “ignorebadroots”, “ignoredatacsums” ва “nologreplay”. Опсияи насби "inode_cache", ки қаблан бекор карда шуда буд, қатъ карда шуд. Рамз барои татбиқи дастгирии блокҳо бо метамаълумотҳо ва додаҳо аз андозаи саҳифа (PAGE_SIZE) хурдтар ва инчунин дастгирии режими тақсимоти фазои минтақавӣ омода шудааст. Дархостҳои бебуферӣ (ИО мустақим) ба инфрасохтори iomap интиқол дода шуданд. Иҷрои як қатор амалиётҳо оптимизатсия карда шудааст, дар баъзе мавридҳо суръат метавонад даҳҳо фоизро ташкил диҳад.
    • XFS парчами "needsrepair" -ро иҷро мекунад, ки зарурати таъмирро нишон медиҳад. Вақте ки ин парчам насб карда мешавад, системаи файлӣ насб карда намешавад, то он даме ки парчам аз ҷониби утилитаи xfs_repair аз нав барқарор карда нашавад.
    • Ext4 танҳо ислоҳи хатогиҳо ва оптимизатсия, инчунин тозакунии кодро пешниҳод мекунад.
    • Экспорти дубораи системаҳои файлии тавассути NFS насбшуда иҷозат дода мешавад (яъне қисме, ки тавассути NFS насб шудааст, акнун метавонад тавассути NFS содир карда шавад ва ҳамчун кэши фосилавӣ истифода шавад).
    • Даъвати системавии close_range(), ки ба раванд имкон медиҳад, ки яку якбора тамоми диапазони дескрипторҳои файли кушодаро пӯшонад, хосияти CLOSE_RANGE_CLOEXEC-ро барои пӯшидани дескрипторҳо дар реҷаи иҷрокунандаи пӯшида илова кардааст.
    • Системаи файлии F2FS зангҳои нави ioctl()-ро илова мекунад, то ки назорати фазои корбар аз болои он файлҳо дар шакли фишурда нигоҳ дошта шаванд. Иловаи "compress_mode=" имконоти васлкунӣ барои интихоб кардани ҷойгиркунии коркардкунандаи фишурда дар тарафи ядро ​​ё дар фазои корбар.
    • Имконияти насб кардани Overlayfs тавассути равандҳои беимтиёз бо истифода аз фазои алоҳидаи корбар таъмин карда шудааст. Барои санҷидани мувофиқат бо татбиқи модели амният, аудити пурраи код гузаронида шуд. Overlayfs инчунин қобилияти иҷро кардани нусхаҳои тасвирҳои системаи файлиро тавассути ғайрифаъол кардани санҷиши UUID илова мекунад.
    • Системаи файлии Ceph дастгирии протоколи msgr2.1-ро илова кардааст, ки имкон медиҳад алгоритми AES-GCM ҳангоми интиқоли маълумот дар шакли рамзгузорӣ истифода шавад.
    • Модули dm-multipath қобилияти ба инобат гирифтани наздикии CPU (“Affinity IO”) ҳангоми интихоби масир барои дархостҳои воридот / баромадро амалӣ мекунад.
  • Хидматҳои хотира ва система
    • Механизми нави боздоштани зангҳои системавӣ дар асоси prctl() илова карда шуд, ки ба шумо имкон медиҳад, ки ҳангоми дастрасӣ ба занги мушаххаси система истисноҳо тавлид кунед ва иҷрои онро тақлид кунед. Ин функсия дар Wine ва Proton барои тақлид кардани зангҳои системаи Windows талаб карда мешавад, ки барои таъмини мутобиқат бо бозиҳо ва барномаҳое, ки мустақиман зангҳои системаро тавассути API-и Windows-ро фаро мегиранд (масалан, барои муҳофизат аз истифодаи беиҷозат) зарур аст.
    • Даъвати системаи userfaultfd(), ки барои коркарди хатогиҳои саҳифа (дастрасӣ ба саҳифаҳои хотираи ҷудонашуда) дар фазои корбар тарҳрезӣ шудааст, ҳоло қобилияти ғайрифаъол кардани коркарди истисноро, ки дар сатҳи ядро ​​рух медиҳад, дорад, то истифодаи баъзе осебпазириро мушкилтар кунад.
    • Зерсистемаи BPF барои нигаҳдории вазифаҳои маҳаллӣ дастгирии илова кардааст, ки ҳатмии маълумотро ба коркарди мушаххаси BPF таъмин мекунад.
    • Баҳисобгирии истеъмоли хотира аз ҷониби барномаҳои BPF комилан аз нав тарҳрезӣ шудааст - ба ҷои memlock rlimit контролери гурӯҳӣ барои идоракунии истифодаи хотира дар объектҳои BPF пешниҳод шудааст.
    • Механизми BTF (BPF Type Format), ки иттилооти санҷиши навъи BPF-ро дар псевдокоди BPF таъмин мекунад, модулҳои ядроиро дастгирӣ мекунад.
    • Дастгирии иловашуда барои хомӯш кардани зангҳо (), renameat2 () ва unlinkat () ба интерфейси асинхронии I/O io_uring. Ҳангоми занг задан ба io_uring_enter(), қобилияти муайян кардани вақт илова карда шудааст (шумо метавонед дастгирии далелро барои муайян кардани вақт бо истифода аз парчами IORING_FEAT_EXT_ARG тафтиш кунед).
    • Меъмории ia64, ки дар протсессори Intel Itanium истифода мешавад, ба категорияи ятим гузаронида шуд, ки ин маънои онро дорад, ки санҷиш қатъ шудааст. Hewlett Packard Enterprise қабули фармоишро барои таҷҳизоти нави Itanium қатъ кард ва Intel соли гузашта ин корро кард.
    • Дастгирии системаҳо дар асоси меъмории MicroBlaze, ки воҳиди идоракунии хотираро (MMU) дар бар намегирад, қатъ карда шуд. Чунин системаҳо дар ҳаёти ҳаррӯза муддати тӯлонӣ дида намешаванд.
    • Барои меъмории MIPS, дастгирии санҷиши фарогирии код бо истифода аз утилитаи gcov илова карда шудааст.
    • Дастгирии иловашуда барои автобуси ёрирасони виртуалӣ барои пайвастшавӣ бо дастгоҳҳои бисёрфунксионалӣ, ки функсияҳоеро муттаҳид мекунанд, ки драйверҳои гуногунро талаб мекунанд (масалан, кортҳои шабакавӣ бо дастгирии Ethernet ва RDMA). Дар ҳолатҳое, ки истифодаи зерсистемаи MFD (Дастгоҳҳои бисёрфунксионалӣ) мушкил аст, автобусро барои таъин кардани драйвери ибтидоӣ ва дуюмдараҷа ба дастгоҳ истифода бурдан мумкин аст.
    • Барои меъмории RISC-V, дастгирӣ барои системаи ҷудокунии хотираи CMA (Contiguous Memory Allocator) илова карда шудааст, ки барои ҷудо кардани минтақаҳои хотираи калони ҳамшафат бо истифода аз усулҳои ҳаракати саҳифаҳои хотира оптимизатсия шудааст. Барои RISC-V асбобҳо инчунин барои маҳдуд кардани дастрасӣ ба /dev/mem ва ба назар гирифтани вақти коркарди таваққуф истифода мешаванд.
    • Барои системаҳои 32-битии ARM дастгирӣ барои асбоби ислоҳи KASan (санитизатори суроғаи ядро) илова карда шудааст, ки дар муайян кардани хатогиҳо ҳангоми кор бо хотира кӯмак мекунад. Барои 64-битии ARM, татбиқи KASan ба истифодаи барчаспҳои MTE (MemTag) табдил дода шудааст.
    • Иловаи занги системаи epoll_pwait2() барои имкон додани мӯҳлат бо дақиқии наносекунд (занги epoll_wait миллисонияҳоро идора мекунад).
    • Системаи сохта ҳоло ҳангоми кӯшиши сохтани модулҳои ядрои борбардор хато нишон медиҳад, ки дар онҳо иҷозатномаи код бо истифода аз макроси MODULE_LICENSE() муайян карда нашудааст. Минбаъд, истифодаи макроси EXPORT_SYMBOL() барои функсияҳои статикӣ низ боиси хатогии сохтмон мегардад.
    • Дастгирии иловашуда барои харитасозии объектҳои GEM аз хотирае, ки барои вуруд/чор истифода мешавад, имкон дод, ки кор бо фреймбуфер дар баъзе меъморӣ суръат бахшад.
    • Kconfig дастгирии Qt4-ро қатъ кард (дар ҳоле ки дастгирии Qt5, GTK ва Ncurses нигоҳ дошта мешавад).
  • Виртуализатсия ва амният
    • Дастгирии режими вокуниши зуд ба занги системаи seccomp() илова карда шудааст, ки ба шумо имкон медиҳад, ки хеле зуд муайян кунед, ки оё занги муайяни система дар асоси bitmap-и доимии ба раванд замимашуда иҷозат дода шудааст ё манъ аст, ки иҷро карданро талаб намекунад як коркардкунандаи BPF.
    • Ҷузъҳои ҳамгирошудаи ядро ​​барои эҷод ва идоракунии анклавҳо дар асоси технологияи Intel SGX (Software Guard eXtensions), ки ба барномаҳо имкон медиҳад, ки кодро дар минтақаҳои алоҳидаи рамзшудаи хотира иҷро кунанд, ки қисми боқимондаи система дастрасии маҳдуд дорад.
    • Ҳамчун як қисми ташаббус оид ба маҳдуд кардани дастрасӣ аз фазои корбар ба MSR (регистри мушаххаси модел), навиштан ба реестри MSR_IA32_ENERGY_PERF_BIAS, ки ба шумо имкон медиҳад режими самаранокии энергияи протсессорро тағир диҳед ("муқаррарӣ", "иҷро", "сарфаи барқ") , манъ аст.
    • Қобилияти ғайрифаъол кардани муҳоҷирати вазифаҳои афзалиятноки байни CPUҳо аз шохаи ядрои-rt барои системаҳои вақти воқеӣ интиқол дода шудааст.
    • Барои системаҳои ARM64, қобилияти истифодаи барчаспҳои MTE (MemTag, Extension Memory Tagging) барои суроғаҳои хотираи коркардкунандаи сигнал илова карда шудааст. Истифодаи MTE тавассути муайян кардани опсияи SA_EXPOSE_TAGBITS дар sigaction() фаъол карда мешавад ва ба шумо имкон медиҳад, ки истифодаи дурусти нишондиҳандаҳоро барои бастани истифодабарии осебпазирӣ, ки дар натиҷаи дастрасӣ ба блокҳои хотираи аллакай озодшуда, фаромадани буфер, дастрасӣ пеш аз оғозсозӣ ва истифодабарии берун аз контексти ҳозира.
    • Параметри "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" илова карда шуд, ки ба зерсистемаи dm-verity имкон медиҳад, ки имзои хэши сертификатҳои дар калидҳои дуюмдараҷа ҷойгиршударо тафтиш кунад. Дар амал, танзимот ба шумо имкон медиҳад, ки на танҳо шаҳодатномаҳои дар ядро ​​сохташуда, балки инчунин сертификатҳоеро, ки ҳангоми кор бор карда шудаанд, тафтиш кунед, ки ин имкон медиҳад, ки сертификатҳо бе навсозии тамоми ядро ​​​​таҷдид карда шаванд.
    • Реҷаи корбар Linux дастгирии режими боздоштан ба бекориро илова кардааст, ки ба шумо имкон медиҳад, ки муҳити атрофро ях кунед ва сигнали SIGUSR1-ро барои бедор шудан аз ҳолати хоб истифода баред.
    • Механизми virtio-mem, ки ба шумо имкон медиҳад, ки хотираро ба мошинҳои виртуалӣ пайваст кунед ва ҷудо кунед, дастгирии Big Block Mode (BBM) -ро илова кардааст, ки имкон медиҳад хотираро дар блокҳои калонтар аз андозаи хотираи ядро ​​интиқол диҳед ё қабул кунед. блок, ки барои оптимизатсияи VFIO дар QEMU зарур аст.
    • Дастгирии рамзгузории CHACHA20-POLY1305 ба татбиқи ядрои TLS илова карда шудааст.
  • Зерсистемаи шабакавӣ
    • Барои 802.1Q (VLAN) механизми идоракунии нокомии пайвастшавӣ (CFM, Идоракунии хатогии пайвастшавӣ) амалӣ карда шудааст, ки ба шумо имкон медиҳад, ки нокомиҳо дар шабакаҳо бо пулҳои виртуалӣ (Шабакаҳои виртуалӣ) муайян, тафтиш ва ҷудо карда шаванд. Масалан, CFM метавонад барои ҷудо кардани мушкилот дар шабакаҳое истифода шавад, ки созмонҳои сершумори мустақилро фаро мегиранд, ки кормандони онҳо танҳо ба таҷҳизоти худ дастрасӣ доранд.
    • Дастгирии иловашуда барои инкапсулизатсияи бастаҳои протоколи SCTP дар пакетҳои UDP (RFC 6951), ки ба шумо имкон медиҳад, ки SCTP-ро дар шабакаҳои тарҷумони суроғаҳои кӯҳна, ки мустақиман SCTP-ро дастгирӣ намекунанд, истифода баред ва инчунин SCTP-ро дар системаҳое, ки дастрасии мустақимро ба IP таъмин намекунанд, татбиқ кунед. қабат.
    • Татбиқи технологияи WiMAX ба марҳила гузаронида шуд ва дар оянда, агар корбароне, ки WiMAX-ро талаб намекунанд, нест карда мешаванд. WiMAX дигар дар шабакаҳои ҷамъиятӣ истифода намешавад ва дар ядро ​​ягона драйвере, ки бо он WiMAX истифода мешавад, драйвери кӯҳнашудаи Intel 2400m мебошад. Дастгирии WiMAX дар конфигуратори шабакаи NetworkManager дар соли 2015 қатъ карда шуд. Дар айни замон, WiMax қариб пурра бо технологияҳо ба монанди LTE, HSPA+ ва Wi-Fi 802.11n иваз карда шудааст.
    • Кор барои оптимизатсияи иҷрои коркарди трафики воридоти TCP дар реҷаи сифрӣ анҷом дода шуд, яъне. бе нусхабардории иловагӣ ба буферҳои нав. Барои трафики миёнаҳаҷм, ки даҳҳо ё якчанд сад килобайт маълумотро фаро мегирад, истифодаи сифркопия ба ҷои recvmsg() ба таври назаррас самараноктар аст. Масалан, тағиротҳои амалӣ имкон доданд, ки самаранокии коркарди трафики услуби RPC бо паёмҳои 32 КБ ҳангоми истифодаи сифрӣ 60-70% зиёд карда шавад.
    • Зангҳои нави ioctl() илова карда шуданд, то пулҳои шабакавие, ки истинодҳои зиёди PPP-ро фаро мегиранд. Қобилияти пешниҳодшуда имкон медиҳад, ки чаҳорчӯба аз як канал ба канали дигар гузаранд, масалан аз PPPoE ба сессияи PPPoL2TP.
    • Интегратсия ба асосии MPTCP (MultiPath TCP), тамдиди протоколи TCP барои ташкили амалиёти пайвасти TCP бо интиқоли бастаҳо дар як вақт дар чанд масир тавассути интерфейсҳои шабакавии гуногун, ки бо суроғаҳои гуногуни IP алоқаманд аст. Нашри нав дастгирии опсияи ADD_ADDR-ро барои таблиғи суроғаҳои IP дастрас, ки ҳангоми илова кардани ҷараёнҳои нав ба пайвасти мавҷудаи MPTCP пайваст шудан мумкин аст, муаррифӣ мекунад.
    • Имконияти танзими амалҳо ҳангоми аз ҳад зиёд будани буҷаи овоздиҳии пайвастшавӣ (пурсиш банд) илова карда шуд. Ҳолати қаблан дастраси SO_BUSY_POLL маънои гузаштан ба softirq ҳангоми тамом шудани буҷаро дошт. Барои барномаҳое, ки бояд истифодаи пурсишро идома диҳанд, варианти нави SO_PREFER_BUSY_POLL пешниҳод карда мешавад.
    • IPv6 шеваҳои SRv6 End.DT4 ва End.DT6-ро дастгирӣ мекунад, ки барои эҷоди VPN-ҳои бисёркорбари IPv4 L3 ва дастгоҳҳои VRF (масири виртуалӣ ва интиқол) истифода мешавад.
    • Netfilter татбиқи ифодаҳои маҷмӯиро муттаҳид кард, ки имкон дод, ки барои ҳар як элементи рӯйхатҳои маҷмӯӣ ифодаҳои сершумор муайян карда шаванд.
    • APIҳо ба стеки бесими 802.11 барои танзими маҳдудиятҳои қудрати КДМ, инчунин параметрҳои AE PWE ва HE MCS илова карда шуданд. Драйвери Intel iwlwifi барои диапазони 6GHz (Ultra High Band) дастгирӣ илова кардааст. Драйвери Qualcomm Ath11k дастгирии технологияи FILS (Fast Initial Link Setup, стандарти IEEE 802.11ai)-ро илова кардааст, ки ба шумо имкон медиҳад, ки аз таъхири роуминг ҳангоми гузариш аз як нуқтаи дастрасӣ ба нуқтаи дигар халос шавед.
  • Таҷҳизот
    • Драйвери amdgpu дастгирии AMD "Green Sardine" APU (Ryzen 5000) ва "Dimgrey Cavefish" GPU (Navi 2) ва инчунин дастгирии ибтидоии AMD Ван Гог APU бо ядрои Zen 2 ва RDNA 2 GPU (Navi 2) -ро таъмин мекунад. Дастгирии иловашуда барои идентификаторҳои нави Renoir APU (дар асоси Zen 2 CPU ва Vega GPU).
    • Драйвери i915 барои кортҳои видеоии Intel технологияи IS (Scaling Integer) -ро бо татбиқи филтр барои зиёд кардани миқёс бо назардошти ҳолати пикселҳои ҳамсоя (Интерполясияи наздиктарин-ҳамсоя) барои муайян кардани ранги пикселҳои гумшуда дастгирӣ мекунад. Дастгирии кортҳои дискретии Intel DG1 васеъ карда шуд. Дастгирии технологияи "Big Joiner" амалӣ карда шуд, ки аз замони микросхемаҳои Ice Lake / Gen11 мавҷуд аст ва имкон медиҳад, ки як транскодер барои коркарди ду ҷараён, масалан, барои баровардан ба экрани 8K тавассути як DisplayPort истифода шавад. Ҳолати ба таври асинхронӣ иваз кардани ду буфер дар хотираи видео илова карда шуд (флип асинхронӣ).
    • Драйвери nouveau дастгирии ибтидоиро барои NVIDIA GPU-ҳо дар асоси микроархитектураи Ampere (GA100, GeForce RTX 30xx) илова кардааст, ки то ҳол бо асбобҳои назорати режимҳои видео маҳдуд аст.
    • Дастгирии иловашуда барои протоколи 3WIRE, ки дар панелҳои LCD истифода мешавад. Дастгирии иловашуда барои панелҳои novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ва ABT Y030XX067A 3.0. Алоҳида, мо метавонем дастгирии панели смартфонҳои OnePlus 6 ва 6T-ро қайд кунем, ки имкон дод боркунии ядрои бетағйир дар дастгоҳҳо ташкил карда шавад.
    • Дастгирии иловашуда барои аввалин контролери ҳости дискретии USB4, Maple Ridge Intel.
    • Дастгирии иловашуда барои Allwinner H6 I2S, дастгоҳҳои аналогии ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ва XCVR, Realtek RT715 ва Qualcomm SM8250 кодекҳои аудиоӣ.
    • Дастгирии иловашуда барои тахтаҳо, дастгоҳҳо ва платформаҳои ARM: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Arm2, ​Mikrotik дар асоси Marvell Prestera 730DX382, серверҳо бо Nuvoton NPCM98 BMC, Kontron i.MX3236M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios750, Engicam PX8.Core.
    • Дастгирии дарунсохт барои консоли бозикунии Ouya дар асоси NVIDIA Tegra 3.

Ҳамзамон, Фонди нармафзори озоди Амрикои Лотинӣ як версияи ядрои комилан ройгони 5.11 - Linux-libre 5.11-gnu -ро ташкил дод, ки аз унсурҳои нармафзор ва драйверҳои дорои ҷузъҳои ғайриозод ё бахшҳои код, ки доираи онҳо маҳдуд аст, тоза карда шудааст. аз ҷониби истеҳсолкунанда. Нашри нав драйверҳоро барои qat_4xxx (crypto), lt9611uxcm (dsi/hdmi bridge), ccs/smia++ (сенсор), ath11k_pci, интиқолдиҳандаи аудио nxp ва контроллери mhi pci тоза мекунад. Рамзи тозакунии blob дар драйверҳо ва зерсистемаҳои amdgpu, btqca, btrtl, btusb, i915 csr. Блокҳои нав дар m3 rproc, соати idt82p33 ptp ва qualcomm arm64 хомӯш карда шуданд.

Манбаъ: opennet.ru

Илова Эзоҳ