ලිනක්ස් කර්නල් නිකුතුව 5.18

මාස දෙකක සංවර්ධනයෙන් පසුව, Linus Torvalds විසින් Linux kernel 5.18 නිකුතුව ඉදිරිපත් කරන ලදී. වඩාත්ම කැපී පෙනෙන වෙනස්කම් අතර: යල් පැන ගිය ක්‍රියාකාරීත්වයේ ප්‍රධාන පිරිසිදු කිරීමක් සිදු කරන ලදී, රීසර්ෆ්ස් එෆ්එස් යල්පැන ඇති බව ප්‍රකාශ කරන ලදී, පරිශීලක ක්‍රියාවලි ලුහුබැඳීමේ සිදුවීම් ක්‍රියාත්මක කරන ලදී, ඉන්ටෙල් අයිබීටී සූරාකෑම් අවහිර කිරීමේ යාන්ත්‍රණයට සහාය එක් කරන ලදී, බෆර පිටාර ගැලීම් හඳුනාගැනීමේ මාදිලියක් සක්‍රීය කරන ලදී memcpy() ශ්‍රිතය භාවිතා කරමින්, fprobe ශ්‍රිත ඇමතුම් ලුහුබැඳීමේ යාන්ත්‍රණයක් එක් කරන ලදී, AMD Zen CPU වල කාර්ය කාලසටහනේ ක්‍රියාකාරිත්වය වැඩි දියුණු කර ඇත, Intel CPU ක්‍රියාකාරීත්වය (SDS) කළමනාකරණය කිරීම සඳහා ධාවකයක් ඇතුළත් කර ඇත, සමහර පැච් ඒකාබද්ධ කර ඇත. ශීර්ෂ ගොනු ප්‍රතිව්‍යුහගත කිරීම සඳහා සහ C11 ප්‍රමිතිය භාවිතා කිරීම අනුමත කර ඇත.

නව අනුවාදයට සංවර්ධකයින් 16206 කින් නිවැරදි කිරීම් 2127 ක් ඇතුළත් වේ (පසුගිය නිකුතුවේදී සංවර්ධකයින් 14203 කින් නිවැරදි කිරීම් 1995 ක් තිබුණි), පැච් ප්‍රමාණය 108 MB වේ (වෙනස්කම් බලපෑවේ ගොනු 14235 ක්, කේත පේළි 1340982 ක් එකතු කරන ලදි, 593836 පේළි මකා ඇත). 44 හි හඳුන්වා දී ඇති සියලුම වෙනස්කම් වලින් 5.18% ක් පමණ උපාංග ධාවකයන්ට සම්බන්ධ වේ, වෙනස් කිරීම් වලින් ආසන්න වශයෙන් 16% ක් දෘඩාංග ගෘහ නිර්මාණ ශිල්පයට විශේෂිත වූ කේතය යාවත්කාලීන කිරීමට සම්බන්ධ වේ, 11% ජාලකරණ තොගයට සම්බන්ධ වේ, 3% ගොනු පද්ධතිවලට සම්බන්ධ වේ, සහ 3% අභ්යන්තර කර්නල් උප පද්ධති වලට සම්බන්ධ වේ.

කර්නලය 5.18 හි ප්‍රධාන නවෝත්පාදන:

  • තැටි උප පද්ධතිය, I/O සහ ගොනු පද්ධති
    • Btrfs ගොනු පද්ධතිය යැවීම සහ ලැබීම් මෙහෙයුම් සිදු කිරීමේදී සම්පීඩිත දත්ත ඉදිරියට යැවීම සඳහා සහය එක් කර ඇත. මීට පෙර, යැවීම/ලැබීම භාවිතා කරන විට, යැවීමේ පැත්ත සම්පීඩිත ආකාරයෙන් ගබඩා කර ඇති දත්ත විසංයෝජනය කරන ලද අතර, එය ලිවීමට පෙර ලැබෙන පැත්ත එය නැවත සම්පීඩනය කරන ලදී. 5.18 කර්නලය තුළ, ඇමතුම් යැවීම/පිළිගැනීම භාවිතා කරන පරිශීලක-අවකාශ යෙදුම්වලට නැවත ඇසුරුම් කිරීමකින් තොරව සම්පීඩිත දත්ත සම්ප්‍රේෂණය කිරීමේ හැකියාව ලබා දී ඇත. නව ioctl මෙහෙයුම් BTRFS_IOC_ENCODED_READ සහ BTRFS_IOC_ENCODED_WRITE වලට ස්තුති වන්නට ක්‍රියාකාරීත්වය ක්‍රියාවට නංවා ඇත, එමඟින් ඔබට තොරතුරු ප්‍රමාණයට කෙලින්ම කියවීමට සහ ලිවීමට ඉඩ සලසයි.

      මීට අමතරව, Btrfs fsync කාර්ය සාධනය වැඩි දියුණු කරයි. සවිකරන ස්ථාන වලට සීමා නොවී සම්පූර්ණ ආචයනය සඳහා ප්‍රතිලින්ක් (පවතින දත්ත වලට සබැඳියක් නිර්මාණය කිරීමෙන් ගොනු පාරදත්ත ක්ලෝන කිරීම) නැවත සම්බන්ධ කිරීමේ හැකියාව එක් කරන ලදී.

    • Direct I/O මාදිලියේදී, fscrypt විසින් inline encryption භාවිතා කරන විට, encrypted ගොනු වෙත ප්‍රවේශ විය හැකි අතර, එහි encryption සහ decryption මෙහෙයුම් සිදු කරනු ලබන්නේ කර්නලය වෙනුවට ධාවකය පාලකය විසිනි. සාමාන්‍ය කර්නල් සංකේතනය සමඟින්, Direct I/O භාවිතයෙන් සංකේතනය කළ ගොනු වෙත ප්‍රවේශය තවමත් කළ නොහැක්කකි, මන්ද යත් කර්නලයේ ඇති බෆරින් යාන්ත්‍රණය මගහැර ගොනු වෙත ප්‍රවේශ වන බැවිනි.
    • NFS සේවාදායකයට පෙරනිමියෙන් NFSv3 ප්‍රොටෝකෝලය සඳහා සහය ඇතුළත් වේ, එය දැන් වෙනම සක්‍රීය කිරීමක් අවශ්‍ය නොවන අතර සාමාන්‍යයෙන් NFS සක්‍රීය කර ඇති විට ලබා ගත හැක. NFSv3 NFS හි ප්‍රධාන සහ සෑම විටම සහය දක්වන අනුවාදය ලෙස සලකනු ලබන අතර, NFSv2 සඳහා වන සහය අනාගතයේදී නතර විය හැක. ඩිරෙක්ටරි අන්තර්ගතයන් කියවීමේ කාර්යක්ෂමතාව සැලකිය යුතු ලෙස වැඩි දියුණු කර ඇත.
    • ReiserFS ගොනු පද්ධතිය අවලංගු කර ඇති අතර එය 2025 දී ඉවත් කිරීමට බලාපොරොත්තු වේ. ReiserFS ක්‍රියා විරහිත කිරීම මඟින් නව API සවිකිරීම, iomap සහ ටෝම් සඳහා සහය දැක්වීමට අදාළ ගොනු පද්ධති-පුළුල් වෙනස්කම් පවත්වා ගැනීමට අවශ්‍ය උත්සාහය අඩු කරනු ඇත.
    • F2FS ගොනු පද්ධතිය සඳහා, සවිකර ඇති ගොනු පද්ධතිවල පරිශීලක හැඳුනුම්පත් සිතියම්ගත කිරීමේ හැකියාව ක්‍රියාත්මක කර ඇති අතර, එය සවිකර ඇති විදේශීය කොටසක නිශ්චිත පරිශීලකයෙකුගේ ගොනු වත්මන් පද්ධතියේ වෙනත් පරිශීලකයෙකු සමඟ සංසන්දනය කිරීමට භාවිතා කරයි.
    • උපාංග සිතියම් හසුරුවන්නෙහි සංඛ්‍යාලේඛන ගණනය කිරීමේ කේතය නැවත සකස් කර ඇත, එය dm-crypt වැනි හසුරුවන්නෙහි ගිණුම්කරණයේ නිරවද්‍යතාවය සැලකිය යුතු ලෙස වැඩිදියුණු කර ඇත.
    • NVMe උපාංග දැන් අඛණ්ඩතාව පරීක්ෂා කිරීම සඳහා 64-bit චෙක්සම් සඳහා සහය දක්වයි.
    • exfat ගොනු පද්ධතිය සඳහා, "keep_last_dots" නව මවුන්ට් විකල්පය යෝජනා කර ඇත, එය ගොනු නාමයේ අවසානයේ තිත් ඉවත් කිරීම අක්‍රීය කරයි (වින්ඩෝස් හි, ගොනු නාමයේ අවසානයේ ඇති තිත් පෙරනිමියෙන් ඉවත් කරනු ලැබේ).
    • EXT4 fast_commit මාදිලියේ කාර්ය සාධනය වැඩි දියුණු කරන අතර පරිමාණය වැඩි කරයි. විශාල ගොනු පද්ධති ඛණ්ඩනය වන තත්වයන් තුළ කාර්ය සාධනය වැඩි කිරීමට ඉඩ සලසන “mb_optimize_scan” mount විකල්පය, ප්‍රමාණයන් සහිත ගොනු සමඟ වැඩ කිරීම සඳහා අනුවර්තනය කර ඇත.
    • බ්ලොක් උපාංග සඳහා සහය දක්වන උපපද්ධතියේ ලිවීමේ ප්‍රවාහ සඳහා වන සහාය අත්හිටුවා ඇත. මෙම විශේෂාංගය SSD සඳහා යෝජනා කරන ලද නමුත් පුළුල් ලෙස පැතිරී නොතිබූ අතර මෙම මාදිලියට සහය දක්වන උපාංග දැනට භාවිතයේ නොමැති අතර අනාගතයේදී ඒවා දිස්වනු ඇතැයි සිතිය නොහැක.
  • මතකය සහ පද්ධති සේවා
    • ශීර්ෂ ගොනු වල ධුරාවලිය ප්‍රතිව්‍යුහගත කිරීමෙන් සහ හරස් පරායත්තතා ගණන අඩු කිරීමෙන් කර්නලය නැවත ගොඩනැගීමේ කාලය සැලකිය යුතු ලෙස අඩු කිරීමට ඉඩ සලසමින් පැච් කට්ටලයක් ඒකාබද්ධ කිරීම ආරම්භ කර ඇත. කර්නල් 5.18 හි කාර්ය කාලසටහන් ශීර්ෂ ගොනු වල ව්‍යුහය ප්‍රශස්ත කරන පැච් ඇතුළත් වේ (kernel/sched). පෙර නිකුතුව හා සසඳන විට, කර්නලය / කාලසටහන / කේතය එකලස් කිරීමේදී CPU කාල පරිභෝජනය 61% කින් අඩු වූ අතර සත්‍ය කාලය 3.9% කින් අඩු විය (තත්පර 2.95 සිට 2.84 දක්වා).
    • කර්නල් කේතය 11 දී ප්‍රකාශයට පත් කරන ලද C2011 ප්‍රමිතිය භාවිතා කිරීමට අවසර ඇත. මීට පෙර, කර්නලයට එකතු කරන ලද කේතය 89 දී පිහිටුවන ලද ANSI C (C1989) පිරිවිතරයන්ට අනුකූල විය යුතුය. 5.18 kernel build scripts හි, '—std=gnu89' විකල්පය '—std=gnu11 -Wno-shift-negative-value' සමඟ ප්‍රතිස්ථාපනය වේ. C17 ප්‍රමිතිය භාවිතා කිරීමේ හැකියාව සලකා බලන ලදී, නමුත් මෙම අවස්ථාවේ දී GCC හි අවම සහය දක්වන අනුවාදය වැඩි කිරීම අවශ්‍ය වනු ඇත, C11 සහාය ඇතුළත් කිරීම GCC අනුවාදය (5.1) සඳහා වත්මන් අවශ්‍යතා වලට ගැලපේ.
    • දේශීය මතක නාලිකා සහිත එක් එක් නෝඩය සඳහා බහු අවසාන මට්ටමේ හැඹිලි (LLC) සපයන Zen microarchitecture සමඟ AMD ප්‍රොසෙසරවල වැඩි දියුණු කළ කාර්ය කාලසටහන් කාර්ය සාධනය. නව අනුවාදය NUMA නෝඩ් අතර LLC අසමතුලිතතාවය ඉවත් කරයි, එය සමහර ආකාරයේ වැඩ බර සඳහා කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩි කිරීමට හේතු විය.
    • පරිශීලක අවකාශයේ යෙදුම් ලුහුබැඳීම සඳහා මෙවලම් පුළුල් කර ඇත. නව කර්නල් අනුවාදය මඟින් පරිශීලක ක්‍රියාවලීන් සඳහා පරිශීලක සිදුවීම් නිර්මාණය කිරීමට සහ ට්‍රේස් බෆරයට දත්ත ලිවීමට හැකියාව එක් කරයි, එය ftrace සහ perf වැනි සම්මත කර්නල් ලුහුබැඳීමේ උපයෝගිතා හරහා නැරඹිය හැකිය. පරිශීලක අවකාශ සොයාගැනීම් සිදුවීම් කර්නල් ලුහුබැඳීම් සිදුවීම් වලින් හුදකලා වේ. සිදුවීම් තත්ත්වය /sys/kernel/debug/tracing/user_events_status ගොනුව හරහාද, /sys/kernel/debug/tracing/user_events_data ගොනුව හරහා සිදුවීම් ලියාපදිංචිය සහ දත්ත පටිගත කිරීම හරහාද බැලිය හැක.
    • මෙහෙයුම් ඇමතුම් (පරීක්ෂණ) අධීක්ෂණය සඳහා යාන්ත්‍රණයක් එකතු කරන ලදි - fprobe. fprobe API ftrace මත පදනම් වේ, නමුත් ක්‍රියාකාරී ප්‍රවේශ ස්ථාන සහ ක්‍රියාකාරී පිටවීමේ ස්ථාන වෙත ඇමතුම් පරිහරණය කරන්නන් ඇමිණීමේ හැකියාවෙන් පමණක් සීමා වේ. kprobes සහ kretprobes මෙන් නොව, නව යාන්ත්‍රණය මඟින් ඔබට එකවර කාර්යයන් කිහිපයක් සඳහා එක් හසුරුවන්නක් භාවිතා කිරීමට ඉඩ සලසයි.
    • මතක කළමනාකරණ ඒකකයකින් (MMU) සමන්විත නොවන පැරණි ARM ප්‍රොසෙසර (ARMv4 සහ ARMv5) සඳහා සහාය නවතා ඇත. MMU නොමැතිව ARMv7-M පද්ධති සඳහා සහය රඳවා ඇත.
    • Andes Technologies ප්‍රොසෙසරවල භාවිතා වන RISC-වැනි NDS32 ගෘහනිර්මාණ ශිල්පය සඳහා වන සහාය අත්හිටුවා ඇත. ප්‍රධාන ලිනක්ස් කර්නලයේ නඩත්තුව නොමැතිකම සහ NDS32 සහය සඳහා ඉල්ලුමක් නොමැතිකම හේතුවෙන් කේතය ඉවත් කරන ලදී (ඉතිරි පරිශීලකයින් දෘඩාංග නිෂ්පාදකයින්ගේ විශේෂිත කර්නල් ගොඩනැගීම් භාවිතා කරයි).
    • පෙරනිමියෙන්, a.out ක්‍රියාත්මක කළ හැකි ගොනු ආකෘතිය සඳහා සහය ඇතිව කර්නලය ගොඩනැගීම මෙම ආකෘතිය දිගටම භාවිතා කරන ඇල්ෆා සහ m68k ගෘහ නිර්මාණ සඳහා අක්‍රිය කර ඇත. ලෙගසි a.out ආකෘතිය සඳහා සහය ඉක්මනින් කර්නලයෙන් සම්පූර්ණයෙන්ම ඉවත් කිරීමට ඉඩ ඇත. a.out ආකෘතිය ඉවත් කිරීමේ සැලසුම් 2019 සිට සාකච්ඡා කර ඇත.
    • PA-RISC ගෘහ නිර්මාණ ශිල්පය vDSO (අතථ්‍ය ගතික බෙදාගත් වස්තූන්) යාන්ත්‍රණය සඳහා අවම සහය සපයයි, එය සන්දර්භය මාරු කිරීමකින් තොරව පරිශීලක අවකාශයේ ලබා ගත හැකි සීමිත පද්ධති ඇමතුම් කට්ටලයක් සපයයි. vDSO සහාය මඟින් ක්‍රියාත්මක කළ නොහැකි තොගයක් සමඟ ධාවනය කිරීමේ හැකියාව ක්‍රියාත්මක කිරීමට හැකි විය.
    • Intel HFI (දෘඪාංග ප්‍රතිපෝෂණ අතුරුමුහුණත) යාන්ත්‍රණය සඳහා සහය එක් කරන ලද අතර, එක් එක් CPU හි වත්මන් ක්‍රියාකාරිත්වය සහ බලශක්ති කාර්යක්ෂමතාව පිළිබඳ තොරතුරු කර්නලය වෙත සම්ප්‍රේෂණය කිරීමට දෘඪාංගයට ඉඩ සලසයි.
    • Intel SDSi (මෘදුකාංග-නිර්වචනය කළ සිලිකන්) යාන්ත්‍රණය සඳහා ධාවකයක් එක් කරන ලදී, එමඟින් ප්‍රොසෙසරයේ අමතර විශේෂාංග ඇතුළත් කිරීම පාලනය කිරීමට ඔබට ඉඩ සලසයි (උදාහරණයක් ලෙස, විශේෂිත උපදෙස් සහ අමතර හැඹිලි මතකය). අදහස වන්නේ චිප්ස් උසස් ක්‍රියාකාරකම් අගුලු දමා අඩු මිලකට සැපයිය හැකි අතර, පසුව එය "මිලදී ගැනීම" සහ චිපයේ දෘඪාංග ප්‍රතිස්ථාපනයකින් තොරව අමතර හැකියාවන් සක්‍රිය කළ හැකි බවයි.
    • AMD HSMP (Host System Management Port) අතුරුමුහුණත සඳහා සහය දැක්වීම සඳහා amd_hsmp ධාවක එකතු කර ඇත, එය Fam19h පරම්පරාවෙන් ආරම්භ වන AMD EPYC සේවාදායක ප්‍රොසෙසරවල ඇති විශේෂ රෙජිස්ටර් කට්ටලයක් හරහා ප්‍රොසෙසර කළමණාකරණ කාර්යයන් සඳහා ප්‍රවේශය සපයයි. උදාහරණයක් ලෙස, HSMP හරහා ඔබට බලශක්ති පරිභෝජනය සහ උෂ්ණත්වය පිළිබඳ දත්ත ලබා ගත හැකිය, සංඛ්යාත සීමාවන් සැකසීම, විවිධ කාර්ය සාධනය වැඩිදියුණු කිරීමේ මාතයන් ක්රියාත්මක කිරීම සහ මතක පරාමිතීන් කළමනාකරණය කිරීම.
    • io_uring අසමමුහුර්ත I/O අතුරුමුහුණත ring buffer එකක ගොනු විස්තර කට්ටලයක් ලියාපදිංචි කිරීමට IORING_SETUP_SUBMIT_ALL විකල්පය ක්‍රියාත්මක කරයි, සහ IORING_OP_MSG_RING මෙහෙයුම එක් ring buffer එකකින් තවත් ring buffer එකකට සංඥා යැවීමට.
    • DAMOS (Data Access Monitoring-based Operation Schemes) යාන්ත්‍රණය, මතක ප්‍රවේශයේ සංඛ්‍යාතය සැලකිල්ලට ගනිමින් මතකය මුදා හැරීමට ඉඩ සලසයි, පරිශීලක අවකාශයේ සිට මතක ක්‍රියාකාරකම් නිරීක්ෂණය කිරීමේ හැකියාවන් පුළුල් කර ඇත.
    • තුන්වන පැච් මාලාවක් සංයුක්ත පිටු වලට සමාන වන නමුත් වැඩිදියුණු කළ අර්ථ ශාස්ත්‍රය සහ වැඩ පැහැදිලි සංවිධානයක් ඇති පිටු ෆෝලියෝ සංකල්පය ක්‍රියාත්මක කිරීම සමඟ ඒකාබද්ධ කර ඇත. ටෝම් භාවිතා කිරීමෙන් සමහර කර්නල් උප පද්ධතිවල මතක කළමනාකරණය වේගවත් කිරීමට ඔබට ඉඩ සලසයි. යෝජිත පැච් වල, get_user_pages() ශ්‍රිතයේ වෙනස්කම් ඇතුළුව අභ්‍යන්තර මතක කළමනාකරණ ශ්‍රිතයන් folios වලට පරිවර්තනය කරන ලදී. කියවීමට-ඉදිරි කේතය තුළ විශාල වෙළුම් නිර්මාණය සඳහා සහාය ලබා දී ඇත.
    • එකලස් කිරීමේ පද්ධතිය දැන් USERCFLAGS සහ USERLDFLAGS පරිසර විචල්‍යයන් සඳහා සහය දක්වයි, එමඟින් ඔබට සම්පාදකයට සහ සම්බන්ධකය වෙත අමතර කොඩි ලබා දිය හැක.
    • eBPF උප පද්ධතිය තුළ, BPF ව්‍යාජ කේතවල වර්ග පරීක්ෂා කිරීමේ තොරතුරු සපයන BTF (BPF Type Format) යාන්ත්‍රණය, පරිශීලක අවකාශයේ මතක ප්‍රදේශ වෙත යොමු වන විචල්‍යයන් වෙත විවරණ එක් කිරීමේ හැකියාව සපයයි. විවරණ BPF කේත සත්‍යාපන පද්ධතියට මතක ප්‍රවේශයන් වඩා හොඳින් හඳුනා ගැනීමට සහ සත්‍යාපනය කිරීමට උපකාරී වේ.
    • පූරණය කරන ලද BPF වැඩසටහන් ගබඩා කිරීම සඳහා නව මතක වෙන් කිරීමේ හසුරුවන්නක් යෝජනා කර ඇති අතර, BPF වැඩසටහන් විශාල ප්‍රමාණයක් පටවා ඇති අවස්ථාවන්හිදී මතකය වඩාත් කාර්යක්ෂමව භාවිතා කිරීමට ඉඩ සලසයි.
    • MADV_DONTNEED_LOCKED ධජය madvise() පද්ධති ඇමතුමට එක් කර ඇත, එය දැනට පවතින MADV_DONTNEED ධජය සම්පූර්ණ කරන ක්‍රියාවලි මතක කළමනාකරණය ප්‍රශස්ත කිරීම සඳහා මෙවලම් සපයන අතර, එමඟින් කර්නලයට මතක වාරණයක් නිකුත් කිරීම පිළිබඳව කල්තියා දැනුම් දිය හැකිය, එනම්. මෙම කොටස තවදුරටත් අවශ්‍ය නොවන අතර කර්නලය මගින් භාවිතා කළ හැක. MADV_DONTNEED මෙන් නොව, MADV_DONTNEED_LOCKED ධජය RAM තුළ අමුණා ඇති මතක පිටු සඳහා භාවිතා කිරීමට අවසර ඇත, එය madvise ලෙස හැඳින්වූ විට, ඒවායේ පින් කළ තත්ත්වය වෙනස් නොකර ඉවත් කරනු ලබන අතර, පසුව “පිටුවක් අවහිර කිරීම සහ උත්පාදනය කිරීම සඳහා ප්‍රවේශ වීමකදී ඒවා ඉවත් කරනු ලැබේ. දෝෂය," බන්ධනය සංරක්ෂණය කර ආපසු යවනු ලැබේ. මීට අමතරව, HugeTLB හි විශාල මතක පිටු සමඟ MADV_DONTNEED ධජය භාවිතා කිරීමට ඉඩ දීම සඳහා වෙනසක් එක් කර ඇත.
  • අථත්යකරණය සහ ආරක්ෂාව
    • x86 ගෘහ නිර්මාණ ශිල්පය සඳහා, Intel IBT (වක්‍ර ශාඛා ලුහුබැඳීම) විධාන ප්‍රවාහ ආරක්ෂණ යාන්ත්‍රණය සඳහා සහය එක් කර ඇති අතර, එමඟින් සූරාකෑම සඳහා ආපසු නැඹුරු ක්‍රමලේඛන ශිල්පීය ක්‍රම (ROP, Return-Oriented Programming) භාවිතයෙන් සූරාකෑමේ ඉදිකිරීම් ක්‍රම භාවිතය වළක්වයි. පාලක ප්‍රතිලාභ උපදෙස් වලින් අවසන් වන යන්ත්‍ර උපදෙස් කැබලි මතකයේ දැනටමත් පවතින ඇමතුම් දාමයක ස්වරූපයෙන් සෑදී ඇත (නීතියක් ලෙස, මේවා ක්‍රියාකාරීත්වයේ අවසානය වේ). ක්‍රියාත්මක කරන ලද ආරක්ෂණ ක්‍රමයේ සාරය නම්, ශ්‍රිතයේ ආරම්භයේදී විශේෂ ENDBR උපදෙස් එකතු කිරීම සහ මෙම උපදෙස් වෙත සංක්‍රමණය වන අවස්ථාවකදී පමණක් වක්‍ර සංක්‍රාන්තියක් ක්‍රියාත්මක කිරීමට ඉඩ දීම මගින් ශ්‍රිතයක ශරීරයට වක්‍ර සංක්‍රාන්ති අවහිර කිරීමයි. JMP හරහා ඇමතුම සහ CALL සෑම විටම ENDBR උපදෙස් මත වැටිය යුතුය, එය ආරම්භක කාර්යයන්හි තබා ඇත).
    • memcpy(), memmove() සහ memset() ශ්‍රිතවල බෆර මායිම් වඩාත් දැඩි ලෙස පරීක්ෂා කිරීම සබල කර ඇත, CONFIG_FORTIFY_SOURCE මාදිලිය සක්‍රීය කර ඇති විට සම්පාදනය කරන අවස්ථාවේදී සිදු කෙරේ. එකතු කරන ලද වෙනස, ප්‍රමාණය දන්නා ව්‍යුහයන්ගේ මූලද්‍රව්‍ය සීමාවෙන් ඔබ්බට යන්නේ දැයි පරීක්ෂා කිරීම දක්වා පහළ යයි. ක්‍රියාත්මක කරන ලද විශේෂාංගය අවම වශයෙන් පසුගිය වසර තුන තුළ හඳුනාගෙන ඇති සියලුම memcpy()-ආශ්‍රිත කර්නල් බෆර පිටාර ගැලීම් අවහිර කිරීමට ඉඩ සලසන බව සටහන් වේ.
    • /dev/random සහ /dev/urandom උපාංගවල ක්‍රියාකාරිත්වය සඳහා වගකිව යුතු RDRAND ව්‍යාජ-සසම්භාවී සංඛ්‍යා උත්පාදකයේ යාවත්කාලීන ක්‍රියාත්මක කිරීම සඳහා කේතයේ දෙවන කොටස එක් කරන ලදී. නව ක්‍රියාත්මක කිරීම /dev/random සහ /dev/urandom වල ක්‍රියාකාරිත්වය ඒකාබද්ධ කිරීම, අතථ්‍ය යන්ත්‍ර ආරම්භ කිරීමේදී අහඹු සංඛ්‍යා ප්‍රවාහයේ අනුපිටපත් පෙනුමෙන් ආරක්ෂාව එක් කිරීම සහ SHA2 වෙනුවට BLAKE1s හැෂ් ශ්‍රිතය භාවිතා කිරීමට මාරුවීම කැපී පෙනේ. එන්ට්රොපි මිශ්ර කිරීමේ මෙහෙයුම්. මෙම වෙනස ගැටළුකාරී SHA1 ඇල්ගොරිතම ඉවත් කිරීම සහ RNG ආරම්භක දෛශිකයේ උඩින් ලිවීම ඉවත් කිරීම මගින් ව්‍යාජ අහඹු සංඛ්‍යා උත්පාදකයේ ආරක්ෂාව වැඩි දියුණු කරන ලදී. BLAKE2s ඇල්ගොරිතම කාර්ය සාධනයේ දී SHA1 ට වඩා උසස් බැවින්, එහි භාවිතය ද කාර්ය සාධනය කෙරෙහි ධනාත්මක බලපෑමක් ඇති කළේය.
    • ARM64 ගෘහ නිර්මාණ ශිල්පය සඳහා, නව පොයින්ටර් සත්‍යාපන ඇල්ගොරිතමයක් සඳහා සහය එක් කර ඇත - “QARMA3”, එය නිසි මට්ටමේ ආරක්ෂාවක් පවත්වා ගනිමින් QARMA ඇල්ගොරිතමයට වඩා වේගවත් වේ. පොයින්ටරයේ භාවිතයට නොගත් ඉහළ බිටුවල ගබඩා කර ඇති ඩිජිටල් අත්සන් භාවිතයෙන් ආපසු ලිපින සත්‍යාපනය කිරීමට විශේෂිත ARM64 උපදෙස් භාවිතා කිරීමට තාක්ෂණය ඔබට ඉඩ සලසයි.
    • ARM64 ගෘහ නිර්මාණ ශිල්පය සඳහා, අට්ටිය මත බෆරය පිටාර ගැලීමකදී ශ්‍රිතයකින් ආපසු එන ලිපිනය උඩින් ලිවීමට එරෙහිව ආරක්ෂණ මාදිලියේ GCC 12 හි ඇතුළත් කිරීම සමඟ එකලස් කිරීම සඳහා සහය ක්‍රියාත්මක කර ඇත. ආරක්ෂාවේ සාරය නම් ශ්‍රිතයකට පාලනය මාරු කිරීමෙන් පසු ආපසු එන ලිපිනය වෙනම “සෙවණ” තොගයක සුරැකීම සහ ශ්‍රිතයෙන් පිටවීමට පෙර මෙම ලිපිනය ලබා ගැනීමයි.
    • ෂිම් බූට්ලෝඩරයේ සහය දක්වන පද්ධති හිමිකරු යතුරු (MOK, යන්ත්‍ර හිමිකරු යතුරු) අඩංගු නව යතුරුකරණයක් - “යන්ත්‍රය” එක් කරන ලදී. පසු ඇරඹුම් අදියරකදී පටවන ලද කර්නල් සංරචක ඩිජිටල් ලෙස අත්සන් කිරීමට මෙම යතුරු භාවිතා කළ හැක (උදාහරණයක් ලෙස, කර්නල් මොඩියුල).
    • TPM සඳහා වූ අසමමිතික පුද්ගලික යතුරු සඳහා ඉවත් කරන ලද සහය, TPM හි ලෙගසි අනුවාදයකින් පිරිනමන ලද, ආරක්ෂක ගැටළු දැන සිටි අතර, ඒවා ප්‍රායෝගිකව බහුලව භාවිතා කර නොමැත.
    • නිඛිල පිටාර ගැලීම් වලින් size_t වර්ගය සමඟ දත්ත ආරක්ෂා කිරීම එක් කරන ලදී. කේතයට size_mul(), size_add() සහ size_sub() හසුරුවන්න ඇතුළත් වන අතර එමඟින් ඔබට size_t වර්ගය සමඟ ප්‍රමාණ ආරක්ෂිතව ගුණ කිරීමට, එකතු කිරීමට සහ අඩු කිරීමට ඉඩ සලසයි.
    • කර්නලය තැනීමේදී, "-Warray-bounds" සහ "-Wzero-length-bounds" ධජ සක්‍රීය කර ඇති අතර, දර්ශකය අරා සීමාවෙන් ඔබ්බට යන විට සහ ශුන්‍ය දිග අරා භාවිතා කරන විට අනතුරු ඇඟවීම් පෙන්වයි.
    • virtio-crypto උපාංගය RSA ඇල්ගොරිතම භාවිතයෙන් සංකේතනය සඳහා සහය එක් කර ඇත.
  • ජාල උප පද්ධතිය
    • ජාල පාලම් ක්‍රියාත්මක කිරීමේදී, වරාය බන්ධන මාදිලිය (අගුළු දැමූ මාදිලිය) සඳහා සහය එක් කර ඇති අතර, පරිශීලකයාට වරාය හරහා ගමනාගමනය යැවිය හැක්කේ බලයලත් MAC ලිපිනයකින් පමණි. STP (Spanning Tree Protocol) ප්‍රොටෝකෝලයේ තත්ත්වය ඇගයීම සඳහා ව්‍යුහ කිහිපයක් භාවිතා කිරීමේ හැකියාව ද එකතු කර ඇත. මීට පෙර, VLAN සෘජුවම සිතියම්ගත කළ හැක්කේ STP (1:1) වෙත පමණි, එක් එක් VLAN ස්වාධීනව කළමනාකරණය කර ඇත. නව අනුවාදය mst_enable පරාමිතිය එක් කරයි, සබල කළ විට, VLAN වල තත්වය MST (Multiple Spanning Trees) මොඩියුලය මගින් පාලනය වන අතර VLAN වල බන්ධනය M:N ආකෘතියට අනුරූප විය හැක.
    • පැකට් (හේතු කේත) අතහැරීමට හේතු සොයා බැලීම සඳහා ජාල තොගයට මෙවලම් ඒකාබද්ධ කිරීමේ වැඩ දිගටම කරගෙන ගියේය. පැකට්ටුව හා සම්බන්ධ මතකය නිදහස් වූ විට හේතු කේතය යවනු ලබන අතර ශීර්ෂ දෝෂ හේතුවෙන් පැකට් ඉවතලීම, rp_filter වංචාව හඳුනා ගැනීම, අවලංගු චෙක්සම්, මතකය නැතිවීම, IPSec XFRM නීති ක්‍රියාරම්භ කිරීම, වලංගු නොවන අනුක්‍රමික අංක TCP යනාදී අවස්ථාවන් සඳහා ඉඩ ලබා දේ.
    • BPF වැඩසටහන් කර්නලය තුළ ක්‍රියාත්මක වන BPF_PROG_RUN මාදිලියේ පරිශීලක අවකාශයෙන් දියත් කරන ලද BPF වැඩසටහන් වලින් ජාල පැකට් මාරු කළ හැකිය, නමුත් ප්‍රතිඵලය පරිශීලක අවකාශයට ලබා දෙන්න. XDP (eXpress Data Path) උප පද්ධතිය භාවිතයෙන් පැකට් සම්ප්‍රේෂණය වේ. සජීවී පැකට් සැකසුම් මාදිලිය සඳහා සහය දක්වයි, XDP ප්‍රොසෙසරයට පියාසර කරන විට ජාල පැකට් ජාල තොගයට හෝ වෙනත් උපාංග වෙත හරවා යැවිය හැක. බාහිර ගමනාගමනයේ මෘදුකාංග උත්පාදක යන්ත්‍ර හෝ ජාල සමුච්චය තුළට ජාල රාමු ආදේශ කිරීමට ද හැකිය.
    • ජාල cgroups වෙත අමුණා ඇති BPF වැඩසටහන් සඳහා, පද්ධති ඇමතුම්වල ප්‍රතිලාභ අගය පැහැදිලිව සැකසීමට උපකාරක ශ්‍රිත යෝජනා කර ඇති අතර, එමඟින් පද්ධති ඇමතුමක් අවහිර කිරීමට හේතු පිළිබඳ වඩාත් සම්පූර්ණ තොරතුරු ලබා දීමට හැකි වේ.
    • XDP (eXpress Data Path) උප පද්ධතිය බහු බෆරවල තබා ඇති ඛණ්ඩනය වූ පැකට් සඳහා සහය එක් කර ඇත, එමඟින් ඔබට XDP හි ජම්බෝ රාමු සැකසීමට සහ XDP_REDIRECT සඳහා TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) භාවිත කිරීමට ඉඩ සලසයි.
    • ජාල නාම අවකාශ මකා දැමීමේ ක්‍රියාවලිය සැලකිය යුතු ලෙස වේගවත් කර ඇති අතර, එය විශාල තදබදයක් සහිත සමහර විශාල පද්ධතිවල ඉල්ලුමක් විය.
  • උපකරණ
    • පෙරනිමියෙන් amdgpu ධාවකයෙහි FreeSync අනුවර්තන සමමුහුර්තකරණ තාක්‍ෂණය ඇතුළත් වේ, එමඟින් ඔබට තිරයේ තොරතුරු නැවුම් කිරීමේ වේගය සීරුමාරු කිරීමට ඉඩ සලසයි, ක්‍රීඩා කරන විට සහ වීඩියෝ නරඹන විට සුමට සහ කඳුළු රහිත රූප සහතික කරයි. Aldebaran GPU සහාය ස්ථාවර ලෙස නිවේදනය කර ඇත.
    • i915 ධාවකය Intel Alderlake N චිප්ස් සහ Intel DG2-G12 විවික්ත ග්‍රැෆික් කාඩ්පත් (Arc Alchemist) සඳහා සහය එක් කරයි.
    • nouveau ධාවකය DP/eDP අතුරුමුහුණත් සඳහා ඉහළ බිට්රේට් සඳහා සහය ලබා දෙන අතර lttprs (Link-Training Tunable PHY Repeaters) කේබල් විස්තාරක සඳහා සහය දක්වයි.
    • drm (Direct Rendering Manager) උප පද්ධතිය තුළ ධාවක armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen සහ vc4 පරාමිති සහාය nomodeset එකතු කර ඇත, එමඟින් ඔබට කර්නල් මට්ටමින් වීඩියෝ මාදිලි මාරු කිරීම සහ දෘඪාංග විදැහුම්කරණ ත්වරණ මෙවලම් භාවිතය අක්‍රිය කිරීමට ඉඩ සලසයි, පද්ධති රාමු බෆරයට අදාළ ක්‍රියාකාරීත්වය පමණක් ඉතිරි කරයි.
    • ARM SoС Qualcomm Snapdragon 625/632 (LG Nexus 5X සහ Fairphone FP3 ස්මාර්ට්ෆෝන් වල භාවිතා වේ), Samsung Exynos 850, Samsung Exynos 7885 (Samsung Galaxy A8 හි භාවිතා වේ), Airoha (Mediatek/EcoNet7523st, EN6582kt5008st PM3 සඳහා සහය එක් කරන ලදී. tablet 966G), Microchip Lan2, Renesas RZ/G2LC, RZ/V3L, Tesla FSD, TI K62/AMXNUMX සහ i.MXRTxxxx.
    • Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emtrion emsyBS, G) වෙතින් ARM උපාංග සහ පුවරු සඳහා සහය එක් කරන ලදී. , ප්රෙස්ටිගියෝ PMT5008 3G ටැබ්ලටය), allWinner (A20-Morsbort), ඇම්ඩික්ස් (ඇම්ඩෙට්රික් q96-mir, hoshaink h95qu 3k +), අම්පිත (ක්ලින්ටා එස්එම්සී, අශෝමි රළු 96 එච්එම් 222), මර්වාෙල් මුවබු / Armada (Ctera C4 V6 සහ V8 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT3MM, emCON-MX200M Mini, Toradex Verdin, Gateworks GW1).
    • ශබ්ද පද්ධති සහ කෝඩෙක්ස් සඳහා AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm Instrus7280, SC2, එම්. Intel AVS DSP චිපය සඳහා ශබ්ද ධාවකයේ මූලික ක්‍රියාත්මක කිරීම එකතු කරන ලදී. Intel ADL සහ Tegra585 සඳහා ධාවක සහය යාවත්කාලීන කරන ලද අතර, Dell, HP, Lenovo, ASUS, Samsung සහ Clevo උපාංගවල ශ්‍රව්‍ය සහය වැඩිදියුණු කිරීමට වෙනස්කම් සිදු කරන ලදී.

    ඒ අතරම, ලතින් ඇමරිකානු නිදහස් මෘදුකාංග පදනම සම්පූර්ණයෙන්ම නිදහස් කර්නලය 5.18 - Linux-libre 5.18-gnu හි අනුවාදයක් සාදන ලදී, ස්ථිරාංගවල මූලද්‍රව්‍ය සහ නිදහස් නොවන සංරචක හෝ කේත කොටස් අඩංගු ධාවක වලින් ඉවත් කරන ලදී, එහි විෂය පථය සීමිතය. නිෂ්පාදකයා විසින්. නව නිකුතුව MIPI DBI පැනල්, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) සහ Realtek 8852a/8852c, Intel AVS සහ Texas Instruments TAS5805M ශබ්ද චිප් සඳහා ධාවක පිරිසිදු කරයි. AArch64 ගෘහ නිර්මාණ ශිල්පය මත පදනම් වූ ප්‍රොසෙසර සහිත විවිධ Qualcomm SoC සඳහා DTS ගොනු ද පිරිසිදු කරන ලදී. AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART හි ධාවක සහ උප පද්ධතිවල බ්ලොබ් පිරිසිදු කිරීමේ කේතය යාවත්කාලීන කරන ලදී.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න