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

Пас аз ду моҳи рушд, Линус Торвалдс муаррифӣ кард баровардани ядро Linux 5.2. Дар байни тағиротҳои назаррас: Ҳолати кори Ext4 ба ҳарфҳо ҳассос нест, зангҳои алоҳидаи система барои насби системаи файлӣ, драйверҳо барои GPU Mali 4xx/ 6xx/7xx, қобилияти коркарди тағирот дар арзишҳои sysctl дар барномаҳои BPF, дастгоҳ-харитасоз модули dm-dust, муҳофизат аз ҳамлаҳои MDS, дастгирии Sound Open Firmware барои DSP, оптимизатсияи иҷрои BFQ, овардани зерсистемаи PSI (Pressure Stall Information) ба имкони истифода дар Android.

Версияи нав 15100 ислоҳи 1882 таҳиягарро дар бар мегирад,
андозаи ямоқи - 62 МБ (тағирот ба 30889 файл таъсир расонд, 625094 сатри код илова карда шуд, 531864 сатр нест карда шуд). Тақрибан 45% ҳама дар 5.2
Тағйирот ба драйверҳои дастгоҳ вобаста аст, тақрибан 21% тағиротҳо мебошанд
Муносибат ба навсозии коди мушаххаси меъмории сахтафзор, 12%
вобаста ба стек шабака, 3% ба системаҳои файлӣ ва 3% ба дохилӣ
зерсистемаҳои ядроӣ. 12.4% тамоми тағйиротро Intel, 6.3% Red Hat, 5.4% Google, 4.0% AMD, 3.1% SUSE, 3% IBM, 2.7% Huawei, 2.7% аз ҷониби Linaro, 2.2% аз ҷониби ARM омода кардаанд. , 1.6 % - Oracle.

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

  • Зерсистемаи диск, системаҳои воридотӣ ва файлӣ
    • Барои Ext4 илова карда шудааст дастгирӣ бидуни фарқ кардани ҳолати аломатҳо дар номҳои файл кор кунед, ки танҳо дар робита бо директорияҳои холӣ бо истифода аз атрибути нави "+F" (EXT4_CASEFOLD_FL) фаъол карда мешавад. Вақте ки ин атрибут дар директория муқаррар карда мешавад, ҳама амалиётҳо бо файлҳо ва зеркаталогҳои дарунӣ бе назардошти ҳолати аломатҳо анҷом дода мешаванд, аз ҷумла ҳангоми ҷустуҷӯ ва кушодани файлҳо (масалан, файлҳои Test.txt, test.txt ва test.TXT дар чунин директорияҳо якхела ҳисобида мешаванд). Бо нобаёнӣ, системаи файлӣ ба ҳарфи ҳарфҳо ҳассос боқӣ мемонад, ба истиснои директорияҳо бо атрибути "chattr +F";
    • Функсияҳои коркарди аломатҳои UTF-8 дар номҳои файл, ки ҳангоми иҷрои амалиёти муқоисаи сатр ва нормализатсия истифода мешаванд, ягона карда шуданд;
    • XFS инфрасохторро барои мониторинги саломатии системаи файлӣ ва ioctl нав барои пурсиши вазъи саломатӣ илова мекунад. Хусусияти таҷрибавӣ барои тафтиши ҳисобкунакҳои суперблок дар онлайн амалӣ карда шуд.
    • Иловаи модули нави дастгоҳ-харитасоз "дм- чанг", ки ба шумо имкон медиҳад, ки намуди блокҳои бад дар ВАО ё хатогиҳоро ҳангоми хондан аз диск тақлид кунед. Модул ба шумо имкон медиҳад, ки ислоҳ ва санҷиши барномаҳо ва системаҳои гуногуни нигаҳдорӣ дар ҳолати нокомии эҳтимолиро содда кунед;
    • Иҷро шудан Оптимизатсияи назарраси иҷроиш барои нақшаи BFQ I/O. Дар шароити сарбории баланди I/O, оптимизатсияҳо анҷом дода шуданд ичозат дихед Вақти амалиётҳо, ба монанди оғози барномаҳоро то 80% кам кунед.
    • Як қатор зангҳои системавӣ барои насб кардани системаҳои файлӣ илова карда шуд: fsopen(), open_tree(), fspick(), fsmount (), fsconfig() и move_mount(). Ин зангҳои системавӣ ба шумо имкон медиҳанд, ки марҳилаҳои гуногуни васлкунӣ (коркарди суперблок, гирифтани маълумот дар бораи системаи файлӣ, монтаж, ба нуқтаи васлкунӣ), ки қаблан бо истифода аз занги умумии mount() анҷом дода мешуданд, коркард кунед. Зангҳои ҷудогона имкони иҷрои сенарияҳои мураккабтари васлкуниро таъмин мекунанд ва амалиёти ҷудогона ба монанди аз нав танзим кардани суперблок, фаъолсозии имконоти, тағир додани нуқтаи васлкунӣ ва гузаштан ба фазои номҳои дигар. Илова бар ин, коркарди ҷудогона ба шумо имкон медиҳад, ки сабабҳои баромади кодҳои хатогиро дақиқ муайян кунед ва барои системаҳои файлии бисёрқабата сарчашмаҳои сершумор муқаррар кунед, ба монанди overlayfs;
    • Амалиёти нави IORING_OP_SYNC_FILE_RANGE ба интерфейс барои io_uring асинхронии I/O илова карда шуд, ки амалҳои баробар ба занги системаро иҷро мекунад sync_file_range(), ва инчунин қобилияти бақайдгирии eventfd бо io_uring ва гирифтани огоҳинома дар бораи анҷоми амалиётро амалӣ намуд;
    • Барои системаи файлии CIFS, FIEMAP ioctl илова карда шудааст, ки харитасозии самараноки миқёс ва инчунин дастгирии режимҳои SEEK_DATA ва SEEK_HOLE-ро таъмин мекунад;
    • Дар зерсистемаи FUSE пешниҳод кардааст API барои идоракунии кэшкунии маълумот;
    • Btrfs татбиқи qgroups ва суръати иҷрои fsync-ро барои файлҳо бо истинодҳои сахти сершумор беҳтар кардааст. Рамзи санҷиши якпорчагии додаҳо такмил дода шуд, ки ҳоло он зарари эҳтимолии иттилоотро дар хотираи оперативӣ пеш аз тоза кардани маълумот ба диск ба назар мегирад;
    • CEPH дастгирии содироти аксҳоро тавассути NFS илова кард;
    • Татбиқи насби NFSv4 дар реҷаи "нарм" такмил дода шуд (агар ҳангоми дастрасӣ ба сервер дар ҳолати "нарм" хатогӣ рух диҳад, занг ба фавран рамзи хаторо бармегардонад ва дар ҳолати "сахт" назорат то FS дода намешавад. мавҷудият ё мӯҳлат барқарор карда мешавад). Нашри нав коркарди дақиқтари тайм-аут, зудтар барқарорсозии садама ва варианти нави "нармтар"-ро таъмин мекунад, ки ба шумо имкон медиҳад рамзи хатогиро (ETIMEDOUT) ҳангоми фаро расидани вақт баргардонида тағир диҳед;
    • API-и nfsdcld, ки барои пайгирии ҳолати муштариёни NFS тарҳрезӣ шудааст, ба сервери NFS имкон медиҳад, ки ҳангоми бозоғозӣ ҳолати муштариро дуруст пайгирӣ кунад. Ҳамин тариқ, демони nfsdcld акнун метавонад ҳамчун коркардкунандаи nfsdcltrack амал кунад;
    • Барои AFS илова кард тақлид кардани қулфҳои диапазони байт дар файлҳо (Қулфи диапазони байт);
  • Виртуализатсия ва амният
    • Корҳо барои нест кардани ҷойҳо дар ядро, ки барои иҷрои кодҳо аз минтақаҳои хотираи инъикосшаванда имкон медиҳанд, анҷом дода шуданд, ки имкон медиҳад сӯрохиҳои эҳтимолиро, ки ҳангоми ҳамла истифода шаванд, баста шавад;
    • Параметри нави сатри фармони ядро ​​"mitigations=" илова карда шуд, ки роҳи соддакардашудаи назорати фаъолсозии усулҳои муайянро барои муҳофизат аз осебпазириҳои марбут ба иҷрои тахминии дастурҳо дар CPU таъмин мекунад. Гузаронидани "mitigations=off" ҳамаи усулҳои мавҷударо ғайрифаъол мекунад ва ҳолати пешфарзии "mitigations=auto" муҳофизатро фаъол мекунад, аммо ба истифодаи Hyper Threading таъсир намерасонад. Ҳолати "камкуниҳо = худкор, nosmt" ба таври иловагӣ Hyper Threading-ро ғайрифаъол мекунад, агар бо усули муҳофизат талаб карда шавад.
    • Илова карда шуд Дастгирии имзои рақамии электронии мувофиқи ГОСТ Р 34.10-2012 (RFC 7091, ISO/IEC 14888-3), аз ҷониби Виталий Чикунов аз СПО Базальт. Дастгирии AES128-CCM ба татбиқи аслии TLS илова карда шуд. Дастгирии алгоритмҳои AEAD ба модули crypto_simd илова карда шуд;
    • Дар Kconfig илова кард бахши алоҳидаи "сахтсозии ядро" бо имконоти баланд бардоштани ҳифзи ядро. Дар айни замон, бахши нав танҳо танзимотро барои фаъол кардани плагинҳои такмилдиҳии санҷиши GCC дарбар мегирад;
    • Рамзи ядро ​​қариб аст расонида шуд аз изҳороти парвандаи вайроннашаванда дар коммутатор (бе баргардонидан ё танаффус пас аз ҳар як блоки парванда). Аз 32 ҳолати истифодабарии коммутатор 2311-тоашро ислоҳ кардан боқӣ мемонад, ки пас аз он ҳангоми сохтани ядро ​​ҳолати "-Wimplicit-fallthrough" -ро истифода бурдан мумкин аст;
    • Барои меъмории PowerPC, дастгирии механизмҳои сахтафзор барои маҳдуд кардани роҳҳои дастрасии номатлуби ядро ​​​​ба маълумот дар фазои корбар амалӣ карда шудааст;
    • Рамзи блоки иловашуда ҳамла Синфи MDS (Microarchitectural Data Sampling) дар протсессори Intel. Шумо метавонед тавассути тағирёбандаи SysFS "/sys/devices/system/cpu/vulnerabilities/mds" санҷед, ки оё система ба осебпазирӣ осебпазир аст. Дастрас аст ду намуди муҳофизат: пурра, ки микрокоди навшударо талаб мекунад ва гузариш, ки тозакунии буферҳои CPU-ро ҳангоми интиқол ба фазои корбар ё системаи меҳмонон пурра кафолат намедиҳад. Барои идоракунии режимҳои муҳофизатӣ ба ядро ​​параметри "mds=" илова карда шудааст, ки метавонад қиматҳои "full", "full,nosmt" (+ ғайрифаъол кардани Hyper-Threads) ва "хомӯш" -ро гирад;
    • Дар системаҳои x86-64, барои IRQ, механизмҳои ислоҳи хатогиҳо ва коркардкунандагони истисноҳо муҳофизати "стек guard-page" илова карда шудааст, ки моҳияти он иваз кардани саҳифаҳои хотира дар сарҳад бо стек мебошад, ки дастрасӣ ба тавлиди як истисно (айби саҳифа);
    • Иловаи танзимоти sysctl vm.unprivileged_userfaultfd, ки қобилияти равандҳои беимтиёзро барои истифодаи занги системаи userfaultfd() назорат мекунад;
  • Зерсистемаи шабакавӣ
    • Илова карда шуд Дастгирии дарвозаи IPv6 барои хатсайрҳои IPv4. Масалан, шумо ҳоло метавонед қоидаҳои масирро муайян кунед, ба монанди "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0";
    • Барои ICMPv6, зангҳои ioctl icmp_echo_ignore_anycast ва icmp_echo_ignore_multicast барои нодида гирифтани ICMP ECHO барои ҳамагуна ва
      суроғаҳои бисёрҷанба. Илова карда шуд қобилияти маҳдуд кардани шиддати коркарди бастаи ICMPv6;

    • Барои протоколи mesh BATMAN (Better Approach To Mobile Adhoc Networking), ки имкон медиҳад шабакаҳои ғайримарказонидашуда, ки дар он ҳар як гиреҳ тавассути гиреҳҳои ҳамсоя пайваст аст, имкон медиҳад, илова кард дастгирии пахши аз чандрасонаӣ ба unicast, инчунин қобилияти назорат тавассути sysfs;
    • Дар ethtool илова намуд параметри нави Fast Link Down, ки ба шумо имкон медиҳад, ки вақти гирифтани маълумотро дар бораи ҳодисаи поёни истинод барои 1000BaseT кам кунед (дар шароити муқаррарӣ таъхир то 750 мс аст);
    • Пайдо шуд имконият бастани нақбҳои Foo-Over-UDP ба суроғаи мушаххас, интерфейси шабака ё розетка (қаблан ҳатмӣ танҳо бо ниқоби умумӣ анҷом дода мешуд);
    • Дар стеки бесим таъмин карда шудааст имкони татбиқи коркардкунандагон
      OWE (рамзгузории оппортунистии бесим) дар фазои корбар;

    • Дар Netfilter, дастгирии оилаи суроғаҳои inet ба занҷирҳои nat илова карда шудааст (масалан, шумо ҳоло метавонед як қоидаи тарҷумаро барои коркарди ipv4 ва ipv6 бидуни ҷудо кардани қоидаҳои ipv4 ва ipv6 истифода баред);
    • Дар netlink илова намуд режими қатъиян барои тафтиши қатъии дурустии ҳамаи паёмҳо ва атрибутҳо, ки дар онҳо аз андозаи пешбинишудаи атрибутҳо зиёд шудан мумкин нест ва илова кардани маълумоти иловагӣ дар охири паёмҳо манъ аст;
  • Хидматҳои хотира ва система
    • Парчами CLONE_PIDFD ба занги системаи clone() илова карда шуд, вақте ки муайян карда мешавад, дескриптори файли "pidfd", ки бо раванди кӯдаки сохташуда муайян шудааст, ба раванди волидайн баргардонида мешавад. Ин дескриптори файл, масалан, метавонад барои фиристодани сигналҳо бидуни тарс аз давидан ба ҳолати мусобиқа истифода шавад (дарҳол пас аз фиристодани сигнал, PID-и ҳадаф метавонад бо сабаби қатъи раванд озод карда шавад ва онро раванди дигар ишғол кунад);
    • Барои версияи дуюми гурӯҳҳо, функсияи контроллери яхдон илова карда шудааст, ки бо он шумо метавонед корро дар гурӯҳ қатъ кунед ва баъзе захираҳоро (CPU, I/O ва эҳтимолан ҳатто хотира) барои иҷрои вазифаҳои дигар муваққатан озод кунед. Идоракунӣ тавассути файлҳои назорати cgroup.freeze ва cgroup.events дар дарахти cgroup анҷом дода мешавад. Вуруди 1 дар cgroup.freeze равандҳоро дар гурӯҳи ҷорӣ ва ҳамаи гурӯҳҳои кӯдакона ях мекунад. Азбаски яхкунӣ каме вақт мегирад, файли иловагии cgroup.events пешниҳод карда мешавад, ки тавассути он шумо метавонед дар бораи анҷоми амалиёт маълумот пайдо кунед;
    • Амният содироти атрибутҳои хотираи ба ҳар як гиреҳ дар sysfs замимашуда, ки ба шумо имкон медиҳад аз фазои корбар хусусияти коркарди бонкҳои хотираро дар системаҳои дорои хотираи гетерогенӣ муайян кунед;
    • Зерсистемаи PSI (Pressure Stall Information) такмил дода шудааст, ки ба шумо имкон медиҳад, ки маълумотро дар бораи вақти интизории қабули захираҳои гуногун (CPU, хотира, вуруд/Чор) барои вазифаҳои муайян ё маҷмӯи равандҳо дар гурӯҳ таҳлил кунед. Бо истифода аз PSI, коркардкунандагони фазои корбар метавонанд сатҳи сарбории система ва суръати сустшавиро дар муқоиса бо Миёнаи бор дақиқтар арзёбӣ кунанд. Версияи нав дастгирии муқаррар кардани ҳадди ҳассосият ва қобилияти истифодаи занги poll() -ро барои гирифтани огоҳинома дар бораи он, ки ҳадди муқарраршуда барои як давраи муайян фаъол карда шудаанд, таъмин мекунад. Ин хусусият ба Android имкон медиҳад, ки норасоии хотираро дар марҳилаи аввал назорат кунад, манбаи мушкилотро муайян кунад ва замимаҳои муҳимро бидуни мушкилоте, ки барои корбар намоён аст, қатъ кунад. Ҳангоми санҷиши стресс, воситаҳои мониторинги истеъмоли хотира дар асоси PSI нисбат ба омори vmpressure 10 маротиба камтар мусбатҳои бардурӯғ нишон доданд;
    • Рамзи санҷиши барномаҳои BPF оптимизатсия карда шудааст, ки имкон медиҳад барномаҳои калон то 20 маротиба тезтар тафтиш карда шавад. Оптимизатсия имкон дод, ки маҳдудияти андозаи барномаҳои BPF аз 4096 то як миллион дастур афзоиш дода шавад;
    • Барои барномаҳои BPF пешниҳод аз ҷониби қобилияти дастрасӣ ба маълумоти глобалӣ, ки ба шумо имкон медиҳад, ки тағирёбандаҳо ва константаҳои глобалиро дар барномаҳо муайян кунед;
    • Илова карда шуд API, ки ба шумо имкон медиҳад, ки тағиротро дар параметрҳои sysctl аз барномаҳои BPF назорат кунед;
    • Барои меъмории MIPS32, компилятори JIT барои мошини виртуалии eBPF амалӣ карда шудааст;
    • Барои меъмории 32-битии PowerPC, дастгирии асбоби ислоҳи KASan (санитизатори адреси ядро) илова карда шудааст, ки дар муайян кардани хатогиҳо ҳангоми кор бо хотира кӯмак мекунад;
    • Дар системаҳои x86-64, маҳдудият барои ҷойгир кардани партовҳои давлатӣ ҳангоми садамаи ядро ​​​​(сӯхтор-дамп) дар минтақаҳои хотираи аз 896 МБ болотар аз он хориҷ карда шудааст;
    • Барои меъмории s390, дастгирии тасодуфии фазои суроғаи ядро ​​(KASLR) ва қобилияти тасдиқи имзоҳои рақамӣ ҳангоми боркунии ядро ​​тавассути kexec_file_load() амалӣ карда мешавад;
    • Барои меъмории PA-RISC, дастгирии иловагии ислоҳкунандаи ядро ​​​​(KGDB), аломатҳои ҷаҳиш ва кпробҳо;
  • Таҷҳизот
    • Ронанда дохил карда шудааст Лима барои Mali 400/450 GPU, ки дар бисёр микросхемаҳои кӯҳна дар асоси меъмории ARM истифода мешавад. Барои GPU-ҳои навтари Мали, драйвери Panfrost илова карда шудааст, ки микросхемаҳои микроархитектураҳои Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) ва Bifrost (Mali G3x, G5x, G7x) -ро дастгирӣ мекунад;
    • Дастгирии иловашуда барои дастгоҳҳои аудиоӣ бо истифода аз нармафзори кушода Нармафзори садои кушод (SOF). Сарфи назар аз мавҷудияти драйверҳои кушода, коди нармафзор барои микросхемаҳои садоӣ то ҳол пӯшида боқӣ монд ва дар шакли дуӣ таъмин карда шуд. Лоиҳаи Sound Open Firmware аз ҷониби Intel барои эҷоди нармафзори кушода барои микросхемаҳои DSP, ки ба коркарди аудио алоқаманданд, таҳия шудааст (баъдтар Google низ ба таҳия ҳамроҳ шуд). Дар айни замон, лоиҳа аллакай кашфи нармафзорро барои чипҳои садоии платформаҳои Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ва IceLake омода кардааст;
    • Драйвери Intel DRM (i915) барои микросхемаҳои дастгирӣ илова мекунад
      Элхартлейк (Насли 11). Иловаи ID-ҳои PCI барои микросхемаҳои Comet Lake (Gen9). Дастгирии микросхемаҳои Icelake мӯътадил карда шуд, ки барои онҳо идентификаторҳои иловагии дастгоҳи PCI низ илова карда шудаанд.
      Дохил карда шудааст
      режими гузариши асинхронӣ байни ду буфер дар хотираи видео (флип асинхронӣ) ҳангоми иҷрои амалиёти навиштан тавассути mmio, ки кори баъзе замимаҳои 3D-ро ба таври назаррас афзоиш дод (масалан, кор дар санҷиши 3DMark Ice Storm 300-400% зиёд шуд). Дастгирии технологияи иловашуда HDCP 2.2 (Ҳифзи мундариҷаи рақамии фарохмаҷрои баланд) барои рамзгузории сигналҳои видеоӣ, ки тавассути HDMI интиқол дода мешаванд;

    • Драйвери amdgpu барои Vega20 GPU илова кард дастгирии RAS (Эътимоднокӣ, Дастрасӣ, Хизматрасонӣ) ва дастгирии таҷрибавӣ барои зерсистемаи SMU 11, ки технологияи Powerplay-ро иваз кардааст. Барои GPU Vega12 илова кард дастгирии ҳолати BACO (Bus Active, Chip Off). Дастгирии ибтидоӣ барои XGMI, автобуси баландсуръат (PCIe 4.0) барои пайвасти GPU илова карда шуд. Ба драйвери amdkfd идентификаторҳои гумшудаи кортҳо дар асоси GPU Polaris10 илова карда шуданд;
    • Ронандаи Nouveau дастгирии тахтаҳоро дар асоси чипсети NVIDIA Turing 117 (TU117, ки дар GeForce GTX 1650 истифода мешавад) илова кардааст. ДАР
      kconfig илова кард танзим кардани функсияҳои кӯҳнашуда, ки дигар дар версияҳои ҷории libdrm истифода намешаванд;

    • Дастгирии объектҳои синхронизатсияи "хронометражӣ" ба API API ва драйвери amdgpu илова карда шудааст, ки ба шумо имкон медиҳад бидуни бастани классикӣ кор кунед.
    • Драйвери vboxvideo барои GPU виртуалии VirtualBox аз шохаи саҳна ба сохтори асосӣ интиқол дода шуд;
    • Драйвери aspeed барои чипи GFX SoC ASPEED илова карда шуд;
    • Дастгирии иловашуда барои ARM SoC ва Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi) ) тахтаҳо RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Эккелман 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),

      Кобо Аура (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

Дар айни замон Фонди нармафзори озоди Амрикои Лотинӣ ташаккул ёфт
интихоб ядрои комилан озод 5.2 - Linux-libre 5.2-gnu, аз нармафзори миёнаравӣ ва унсурҳои драйвери дорои ҷузъҳои ғайриозод ё қисмҳои код, ки доираи онҳо аз ҷониби истеҳсолкунанда маҳдуд аст, тоза карда шудааст. Нашри нав боркунии файлро дар бар мегирад
Firmware Open Sound. Боркунии блокҳо дар драйверҳо ғайрифаъол аст
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ва ucsi_ccg. Рамзи тозакунии blob дар драйверҳо ва зерсистемаҳои ixp4xx, imx-sdma, amdgpu, nouveau ва goya, инчунин дар ҳуҷҷатҳои микрокод навсозӣ шудааст. Тозакунии блокҳои драйвери r8822be бо сабаби бартараф кардани он қатъ карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ