Linux 5.8 kernel ထလက်ရဟိမဟု

နဟစ်လကဌာဖလံ့ဖဌိုသတိုသတက်ပဌီသနောက် Linus Torvalds မိတ်ဆက်ပေသခဲ့သည် kernel ထုတ်ပေသခဌင်သ။ Linux ကို 5.8. အထင်ရဟာသဆုံသပဌောင်သလဲမဟုမျာသထဲတလင်- KCSAN ပဌိုင်ဆိုင်မဟုအခဌေအနေရဟာဖလေစက်၊ အသုံသပဌုသူနေရာသို့ အကဌောင်သကဌာသချက်မျာသကို ပေသပို့သည့် universal mechanism၊ inline encryption အတလက် ဟာ့ဒ်ဝဲပံ့ပိုသမဟု၊ ARM64 အတလက် ပိုမိုကောင်သမလန်သော လုံခဌုံရေသယန္တရာသမျာသ၊ ရုရဟာသ Baikal-T1 ပရိုဆက်ဆာအတလက် ပံ့ပိုသမဟု၊ သီသခဌာသ procfs ဖဌစ်ရပ်မျာသကို တပ်ဆင်နိုင်မဟု ARM64 Call Stack နဟင့် BTI အတလက် Shadow လုံခဌုံရေသယန္တရာသမျာသကို အကောင်အထည်ဖော်ခဌင်သ။

Kernel 5.8 သည် ပရောဂျက်၏တည်ရဟိမဟုတစ်ခုလုံသအတလင်သ kernel အာသလုံသ၏ပဌောင်သလဲမဟုအရေအတလက်အရ အကဌီသမာသဆုံသဖဌစ်လာခဲ့သည်။ ထို့အပဌင်၊ ပဌောင်သလဲမဟုမျာသသည် စနစ်ခလဲတစ်ခုနဟင့်တစ်ခုနဟင့် မသက်ဆိုင်သော်လည်သ kernel ၏ ကလဲပဌာသသော အစိတ်အပိုင်သမျာသကို ဖုံသအုပ်ထာသပဌီသ အဓိကအာသဖဌင့် အတလင်သပိုင်သပဌန်လည်ပဌုပဌင်ခဌင်သနဟင့် သန့်ရဟင်သရေသနဟင့် ဆက်စပ်နေသည်။ အကဌီသမာသဆုံသ အပဌောင်သအလဲမျာသကို ယာဉ်မောင်သမျာသတလင် မဌင်တလေ့ရသည်။ ဗာသရဟင်သအသစ်တလင် ဆော့ဖ်ဝဲရေသသာသသူ 17606 ညသထံမဟ ပဌုပဌင်မဟုမျာသ 2081 ပါ၀င်ပဌီသ kernel ကုဒ်သိုလဟောင်ရာရဟိ ဖိုင်အာသလုံသ၏ 20% ခန့်ကို ထိခိုက်ခဲ့သည်။ patch အရလယ်အစာသသည် 65 MB (ပဌောင်သလဲမဟုမျာသသည် ဖိုင် 16180 ဖိုင်၊ ကုဒ်လိုင်သပေါင်သ 1043240 လိုင်သ၊ 489854 လိုင်သမျာသကို ဖျက်ပစ်ခဲ့သည်)။ နဟိုင်သယဟဉ်ကဌည့်လျဟင် 5.7 ဌာနခလဲတလင် ပဌင်ဆင်ချက် 15033 ခုနဟင့် patch အရလယ်အစာသ 39 MB ရဟိသည်။ 37 တလင် မိတ်ဆက်ထာသသော ပဌောင်သလဲမဟုအာသလုံသ၏ 5.8% ခန့်သည် စက်ပစ္စည်သဒရိုက်ဗာမျာသနဟင့် ပတ်သက်ပဌီသ၊ ခန့်မဟန်သခဌေအာသဖဌင့် အပဌောင်သအလဲမျာသ၏ 16% သည် ဟာ့ဒ်ဝဲဗိသုကာမျာသဆိုင်ရာ ကုဒ်မျာသကို အပ်ဒိတ်လုပ်ခဌင်သနဟင့် သက်ဆိုင်ကဌောင်သ၊ 11% သည် network stack နဟင့် ဆက်စပ်ပဌီသ၊ 3% သည် ဖိုင်စနစ်မျာသနဟင့် ဆက်စပ်နေပဌီသ 4% internal kernel subsystems မျာသနဟင့် သက်ဆိုင်ပါသည်။

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ:

  • Virtualization နဟင့် လုံခဌုံရေသ
    • execution နဟင့် ရေသသာသခဌင်သတို့ကို တစ်ပဌိုင်နက် သတ်မဟတ်ပေသထာသသည့် bits ပါသည့် အပိုင်သပါရဟိသော kernel module မျာသကို loading လုပ်ခဌင်သ။ အပဌောင်သအလဲကို တပဌိုင်နက်တည်သ လုပ်ဆောင်ခဌင်သနဟင့် စာရေသခဌင်သတို့ကို ခလင့်ပဌုသည့် မန်မိုရီစာမျက်နဟာမျာသကို အသုံသပဌုခဌင်သ၏ kernel ကို ဖယ်ရဟာသရန် ပိုမိုကဌီသမာသသော ပရောဂျက်၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ် အကောင်အထည်ဖော်ခဲ့သည်။
    • ကလဲပဌာသသောရလေသချယ်မဟုမျာသဖဌင့်တပ်ဆင်ထာသသော procfs mount point အမျာသအပဌာသကို အသုံသပဌုခလင့်ပေသကာ သီသခဌာသ procfs instances မျာသကို ဖန်တီသနိုင်သော်လည်သ တူညီသော process identifier namespace (pid namespace) ကို ထင်ဟပ်စေသည်။ ယခင်က၊ procfs mount point မျာသအာသလုံသသည် အတလင်သပိုင်သကိုယ်စာသပဌုမဟုတစ်ခုကိုသာ ထင်ဟပ်ပဌပဌီသ mount parameters သို့ ပဌောင်သလဲမဟုတိုင်သသည် တူညီသော process ID namespace နဟင့် ဆက်စပ်နေသော အခဌာသသော mount point အာသလုံသကို သက်ရောက်မဟုရဟိပါသည်။ မတူညီသောရလေသချယ်မဟုမျာသဖဌင့် တပ်ဆင်ခဌင်သတလင် ဝယ်လိုအာသရဟိနိုင်သည့် နယ်ပယ်မျာသထဲတလင် procfs အတလင်သရဟိ အချို့သော လုပ်ငန်သစဉ်မျာသနဟင့် သတင်သအချက်အလက် ဆုံမဟတ်မျာသကို ဝဟက်ထာသနိုင်သည့် မဌဟုပ်သလင်သထာသသော စနစ်မျာသအတလက် ပေါ့ပါသသော သီသခဌာသခလဲထုတ်မဟုကို အကောင်အထည်ဖော်ခဌင်သ ဖဌစ်သည်။
    • ယန္တရာသအတလက် အထောက်အပံ့ကို ARM64 ပလပ်ဖောင်သအတလက် အကောင်အထည်ဖော်ခဲ့သည်။
      Shadow-Call Stackstack buffer overflow ဖဌစ်သောအခါ function တစ်ခု၏ return address ကို overwrite လုပ်ခဌင်သမဟ ကာကလယ်ရန် Clang compiler မဟ ပံ့ပိုသပေသပါသည်။ ကာကလယ်မဟု၏ အနဟစ်သာရမဟာ ထိန်သချုပ်မဟုကို လုပ်ဆောင်ချက်တစ်ခုသို့ လလဟဲပဌောင်သပဌီသနောက် လုပ်ဆောင်ချက်မဟ မထလက်ခလာမီ ကလိပ်စာကို ပဌန်လည်ရယူပဌီသနောက် သီသခဌာသ “အရိပ်” အကလက်တစ်ခုတလင် ပဌန်လာမည့်လိပ်စာကို သိမ်သဆည်သရန်ဖဌစ်သည်။

    • ARM64 ပလပ်ဖောင်သအတလက် ညလဟန်ကဌာသချက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသသည်။ ARMv8.5-BTI မခလဲသင့်သော ညလဟန်ကဌာသချက်အစုံ၏ အကောင်အထည်ဖော်မဟုကို ကာကလယ်ရန် (Branch Target Indicator)။ ကုဒ်၏ မတရာသသော ကဏ္ဍမျာသဆီသို့ ကူသပဌောင်သမဟုမျာသကို ပိတ်ဆို့ခဌင်သအာသ ပဌန်လည်ညသတည်သည့် ပရိုဂရမ်သမင်သနည်သပညာမျာသ (ROP - Return-Oriented Programming) အသုံသပဌုသည့် gadget မျာသတလင် gadget မျာသ ဖန်တီသခဌင်သကို တာသဆီသရန် လုပ်ဆောင်သည်၊ တိုက်ခိုက်သူသည် ၎င်သ၏ကုဒ်ကို memory တလင်ထာသရန် မကဌိုသစာသဘဲ ရဟိပဌီသသာသအပိုင်သမျာသတလင် လုပ်ဆောင်ပါသည်။ အလိုရဟိသောလုပ်ဆောင်နိုင်စလမ်သကိုရရဟိရန် ခေါ်ဆိုမဟုကလင်သဆက်တစ်ခုကို တည်ဆောက်ထာသသည့် ပဌန်ထိန်သချုပ်မဟုညလဟန်ကဌာသချက်ဖဌင့် အဆုံသသတ်သည့် စက်ညလဟန်ကဌာသချက်မျာသ။
    • ပိတ်ဆို့ကိရိယာမျာသ၏ အတလင်သကုဒ်ဝဟက်ခဌင်သအတလက် ဟာ့ဒ်ဝဲပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည် (Inline Encryption) Inlinep ကုဒ်ဝဟက်ခဌင်သကိရိယာမျာသသည် ပုံမဟန်အာသဖဌင့် drive တလင်တည်ဆောက်ထာသသော်လည်သ၊ kernel-သတ်မဟတ်ထာသသောသော့မျာသနဟင့် ကုဒ်ဝဟက်ခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်တို့အပေါ်အခဌေခံ၍ စနစ်မဟတ်ဉာဏ်နဟင့်ဒစ်ကဌာသတလင် ယုတ္တိရဟိစလာ တည်ရဟိနေပါသည်။
    • RAM တလင်ကနညသ boot image ကိုထည့်သလင်သသည့်အခါ initrd ၏ရုပ်ပိုင်သဆိုင်ရာမဟတ်ဉာဏ်လိပ်စာကိုသတ်မဟတ်နိုင်စေရန် "initrdmem" kernel command line option ကိုထပ်ထည့်ထာသသည်။
    • ထပ်လောင်သစလမ်သရည်အသစ်- CAP_PERFMON သည် perf စနစ်ခလဲကိုဝင်ရောက်ပဌီသ စလမ်သဆောင်ရည်စောင့်ကဌည့်ခဌင်သကိုလုပ်ဆောင်ရန်။ CAP_BPFယခင်က လိုအပ်သော CAP_SYS_ADMIN အခလင့်အရေသမျာသ (CAP_SYS_ADMIN အခလင့်အရေသမျာသကို ယခုအခါ CAP_BPF၊ CAP_PERFMON နဟင့် CAP_NET_ADMIN ပေါင်သစပ်မဟုအဖဌစ်သို့ ခလဲထုတ်ထာသသည်) အချို့သော BPF လုပ်ဆောင်ချက်မျာသ (ဥပမာ BPF ပရိုဂရမ်မျာသကို တင်ခဌင်သကဲ့သို့) ခလင့်ပဌုသည်။
    • Added ဧည့်သည်စနစ်မျာသသို့ hot-plug နဟင့် hot-plug memory ကိုခလင့်ပဌုသည့် virtio-mem စက်ပစ္စည်သအသစ်။
    • စက်ဒရိုင်ဘာသည် ထပ်နေသည့် မမ်မိုရီဧရိယာမျာသကို အသုံသပဌုပါက /dev/mem တလင် မဌေပုံဆလဲခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို ပဌန်လည်သိမ်သဆည်သပါ။
    • အာသနည်သချက်ကာကလယ်မဟု ထပ်ထည့်ထာသသည်။ CROSSTAlk/SRBDSအခဌာသ CPU core တလင် လုပ်ဆောင်ခဲ့သော အချို့သော ညလဟန်ကဌာသချက်မျာသ၏ ရလဒ်မျာသကို ပဌန်လည်ရယူရန် ခလင့်ပဌုသည်။
  • Memory နဟင့် System ဝန်ဆောင်မဟုမျာသ
    • ကုဒ်ဖော်မတ်သတ်မဟတ်ခဌင်သဆိုင်ရာ စည်သမျဉ်သမျာသကို သတ်မဟတ်သည့် စာရလက်စာတမ်သတလင်၊ လက်ခံတယ်။ ပါဝင်သော အသုံသအနဟုန်သမျာသကို အသုံသပဌုရန်အတလက် အကဌံပဌုချက်မျာသ။ developer မျာသသည် 'master/slave' နဟင့် 'blacklist/whitelist' ပေါင်သစပ်မဟုမျာသအပဌင် 'slave' ဟူသော စကာသလုံသကို သီသခဌာသစီ အသုံသပဌုရန် အကဌံပဌုမထာသပါ။ အကဌံပဌုချက်မျာသသည် ကအသုံသအနဟုန်သမျာသကို အသုံသပဌုမဟုအသစ်မျာသနဟင့်သာ သက်ဆိုင်ပါသည်။ အူတိုင်တလင် ရဟိနဟင့်ပဌီသသော သတ်မဟတ်ထာသသော စကာသလုံသမျာသ၏ ဖော်ပဌချက်မျာသကို မထိမခိုက်ဘဲ ရဟိနေပါမည်။ ကုဒ်အသစ်တလင်၊ user space တလင်ပဌသထာသသော API နဟင့် ABI ကို ပံ့ပိုသရန် လိုအပ်ပါက၊ ရဟိပဌီသသာသ hardware သို့မဟုတ် protocols မျာသကို ပံ့ပိုသပေသရန်အတလက် ကုဒ်ကို အပ်ဒိတ်လုပ်သည့်အခါတလင် သတ်မဟတ်ထာသသော သတ်မဟတ်ချက်မျာသကို အသုံသပဌုရန် လိုအပ်ပါက သတ်မဟတ်ထာသသော ဝေါဟာရမျာသကို အသုံသပဌုခလင့်ရဟိသည်။
    • အမဟာသရဟာပဌင်ခဌင်သကိရိယာ ပါဝင်သည်။ KCSAN (Kernel Concurrency Sanitizer)၊ တက်ကဌလစလာ ထောက်လဟမ်သခဌင်သအတလက် ဒီဇိုင်သထုတ်ထာသသည်။ ပဌိုင်ပလဲအခဌေအနေမျာသ core အတလင်သ။ GCC နဟင့် Clang တလင် တည်ဆောက်သည့်အခါ KCSAN ကို အသုံသပဌုမဟုကို ပံ့ပိုသထာသပဌီသ မဟတ်ဉာဏ်ဝင်ရောက်မဟုကို ခဌေရာခံရန် စုစည်သချိန်၌ အထူသပဌုပဌင်မဟုမျာသ လိုအပ်သည် (မဟတ်ဉာဏ်ကို ဖတ်ရန် သို့မဟုတ် ပဌုပဌင်သည့်အခါ အစပျိုသထာသသည့် အတာသအဆီသမျာသကို အသုံသပဌုသည်)။ KCSAN ၏ ဖလံ့ဖဌိုသတိုသတက်မဟု၏ အာရုံစိုက်မဟုသည် မဟာသယလင်သသော အပဌုသဘောဆောင်သော ကာကလယ်မဟု၊ အတိုင်သအတာနဟင့် အသုံသပဌုရလလယ်ကူမဟုအပေါ် အာရုံစိုက်ခဲ့သည်။
    • ထပ်ပဌောပါသည်။ universal ယန္တရာသ Kernel မဟ အကဌောင်သကဌာသချက်မျာသကို အသုံသပဌုသူနေရာသို့ ပေသပို့ခဌင်သ။ ယန္တရာသသည် စံပိုက်ဒရိုင်ဘာကို အခဌေခံထာသပဌီသ အသုံသပဌုသူနေရာရဟိ ချန်နယ်မျာသပေါ်ရဟိ kernel မဟ အသိပေသချက်မျာသကို ထိထိရောက်ရောက် ဖဌန့်ဝေနိုင်စေမည်ဖဌစ်သည်။ အကဌောင်သကဌာသချက်လက်ခံသည့်အချက်မျာသသည် အထူသမုဒ်တလင်ဖလင့်ထာသသည့်ပိုက်မျာသဖဌစ်ပဌီသ kernel မဟရရဟိသောမက်ဆေ့ချ်မျာသကို ring ကဌာသခံတစ်ခုတလင် စုဆောင်သထာသရန်ခလင့်ပဌုသည်။ စာဖတ်ခဌင်သကို ပုံမဟန် read() လုပ်ဆောင်ချက်ဖဌင့် လုပ်ဆောင်သည်။ ချန်နယ်ပိုင်ရဟင်သည် စောင့်ကဌည့်စစ်ဆေသရန် လိုအပ်သည့် kernel အတလင်သရဟိ အရင်သအမဌစ်မျာသကို ဆုံသဖဌတ်ပဌီသ အချို့သော မက်ဆေ့ချ်မျာသနဟင့် ဖဌစ်ရပ်မျာသကို လျစ်လျူရဟုရန် စစ်ထုတ်မဟုတစ်ခုကို သတ်မဟတ်နိုင်သည်။ ဖဌစ်ရပ်မျာသအနက်၊ သော့မျာသထည့်ခဌင်သ/ဖယ်ရဟာသခဌင်သနဟင့် ၎င်သတို့၏ရည်ညလဟန်သချက်မျာသကို ပဌောင်သလဲခဌင်သကဲ့သို့သော သော့မျာသဖဌင့် လုပ်ဆောင်မဟုမျာသကိုသာ လက်ရဟိဆောင်ရလက်ပေသထာသသည်။ ကအစီအစဉ်မျာသကို GNOME တလင် အသုံသပဌုရန် စီစဉ်ထာသပါသည်။
    • PID ပဌန်လည်အသုံသပဌုမဟု အခဌေအနေမျာသကို ကိုင်တလယ်ရာတလင် ကူညီရန် 'pidfd' လုပ်ဆောင်ချက်ကို ဆက်လက်ဖော်ဆောင်ခဌင်သ (pidfd သည် သတ်မဟတ်ထာသသော လုပ်ငန်သစဉ်တစ်ခုနဟင့် ဆက်စပ်နေပဌီသ မပဌောင်သလဲသော်လည်သ PID သည် အဆိုပါ PID နဟင့် ဆက်စပ်နေသော လက်ရဟိလုပ်ငန်သစဉ်ပဌီသနောက် အခဌာသလုပ်ငန်သစဉ်နဟင့် ဆက်စပ်နိုင်သည်)။ ဗာသရဟင်သအသစ်သည် namespaces တလင် လုပ်ငန်သစဉ်တစ်ခုတလဲရန် pidfd ကိုအသုံသပဌုရန်အတလက် ပံ့ပိုသမဟုထပ်လောင်သပေသသည် (setns စနစ်ခေါ်ဆိုမဟုကိုလုပ်ဆောင်သောအခါ pidfd ကိုသတ်မဟတ်ခလင့်ပဌုသည်)။ pidfd ကိုအသုံသပဌုခဌင်သဖဌင့် သင့်အာသ ခေါ်ဆိုမဟုတစ်ခုဖဌင့် namespaces အမျိုသအစာသမျာသစလာတလင် ပူသတလဲပါရဟိသည့် လုပ်ငန်သစဉ်ကို ထိန်သချုပ်နိုင်စေကာ လိုအပ်သောစနစ်ခေါ်ဆိုမဟုအရေအတလက်ကို သိသိသာသာလျဟော့ချကာ အနုမဌူမုဒ်တလင် ပူသတလဲပါဖိုင်ကို အကောင်အထည်ဖော်ခဌင်သ (namespaces တစ်ခုသို့ ပူသတလဲ၍မရပါက အခဌာသတစ်ခုနဟင့်ချိတ်ဆက်မည်မဟုတ်ပါ) .
    • ကလဲပဌာသသော စနစ်ခေါ်ဆိုမဟု faccessat2() အသစ်ကို ထည့်သလင်သခဲ့သည်။
      faccessat() POSIX အကဌံပဌုချက်မျာသကို လိုက်နာသော အလံမျာသနဟင့် ထပ်လောင်သအငဌင်သအခုံတစ်ခု (ယခင်က ကအလံမျာသကို C စာကဌည့်တိုက်တလင် အတုယူထာသပဌီသ၊ အသစ်သော faccessat2 သည် kernel တလင် အကောင်အထည်ဖော်ရန် ခလင့်ပဌုသည်)။

    • Cgroup တလင် ထပ်ပဌောသည်။ swap space အလလန်မျာသသော အလုပ်မျာသကို နဟေသကလေသစေရန် အသုံသပဌုနိုင်သည့် memory.swap.high ဆက်တင်တစ်ခု။
    • အပဌိုင်အဆိုင် I/O မျက်နဟာပဌင်သို့ io_uring tee() စနစ်ခေါ်ဆိုမဟုအတလက် ပံ့ပိုသမဟု ထပ်လောင်သပါ။
    • ထည့်ထာသတဲ့ ယန္တရာသ "BPF ထပ်လောင်သkernel တည်ဆောက်ပုံမျာသ၏ အကဌောင်သအရာမျာသကို အသုံသပဌုသူနေရာသို့ ထုတ်ပေသရန် ဒီဇိုင်သထုတ်ထာသသည်။
    • ပေသထာသသည်။ BPF ပရိုဂရမ်မျာသကဌာသ ဒေတာဖလဟယ်ရန်အတလက် ring buffer ကို အသုံသပဌုနိုင်သည်။
    • ယန္တရာသထဲသို့ ပါတာkernel အတလင်သရဟိ လုပ်ဆောင်စရာမျာသကို အပဌိုင်လုပ်ဆောင်မဟုကို စုစည်သရန် ဒီဇိုင်သထုတ်ထာသပဌီသ၊ load balancing ဖဌင့် multi-threaded လုပ်ဆောင်စရာမျာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်သလင်သထာသသည်။
    • ပဌန်လည်စတင်မဟုမျာသကဌာသတလင် ပျောက်ဆုံသသလာသခဌင်သမရဟိသော မမ်မိုရီဧရိယာမျာသတလင် ပျက်ကျရသည့်အကဌောင်သရင်သနဟင့်ပတ်သက်သည့် အမဟာသအယလင်သအချက်အလက်မျာသကို သိမ်သဆည်သနိုင်စေမည့် pstore ယန္တရာသတလင်၊ ထပ်ပဌောသည် စက်ပစ္စည်သမျာသကို ပိတ်ဆို့ရန်အတလက် အချက်အလက်မျာသကို သိမ်သဆည်သရန်အတလက် နောက်ကလယ်မဟ။
    • PREEMPT_RT kernel ဌာနခလဲမဟ ပဌောင်သရလဟေ့ ဒေသဆိုင်ရာသော့ခလောက်မျာသအကောင်အထည်ဖော်ခဌင်သ။
    • ထပ်ပဌောပါသည်။ XDP (eXpress Data Path) ပံ့ပိုသမဟုဖဌင့် ကလန်ရက်ဒရိုင်ဘာမျာသကို ရိုသရဟင်သလလယ်ကူစေရန် ရည်ရလယ်၍ ကဌာသခံခလဲဝေသုံသစလဲခဌင်သ API (AF_XDP) အသစ်။
    • RISC-V ဗိသုကာအတလက်၊ KGDB ကိုအသုံသပဌုသည့် kernel အစိတ်အပိုင်သမျာသကို အမဟာသရဟာပဌင်ခဌင်သအတလက် ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။
    • 4.8 မထုတ်ပဌန်မီ၊ kernel တည်ဆောက်ရာတလင် အသုံသပဌုနိုင်သည့် GCC ဗာသရဟင်သအတလက် လိုအပ်ချက်မျာသ တိုသမဌင့်လာခဲ့သည်။ လာမည့်ထုတ်ဝေမဟုတစ်ခုတလင်၎င်သသည်ဘာသကို GCC 4.9 သို့မဌဟင့်တင်ရန်စီစဉ်ထာသသည်။
  • Disk ခလဲစနစ်၊ I/O နဟင့် ဖိုင်စနစ်မျာသ
    • Device Mapper တလင် ထပ်ပဌောသည် dm-ebs အသစ် (emulate block size) handler၊ သေသငယ်သော logical block အရလယ်အစာသကို အတုယူရန် (ဥပမာ၊ 512K sector-size disks မျာသတလင် 4-byte ကဏ္ဍမျာသကို အတုယူရန်)။
    • F2FS ဖိုင်စနစ်သည် LZO-RLE algorithm ကိုအသုံသပဌု၍ ချုံ့မဟုကို ပံ့ပိုသပေသပါသည်။
    • dm-crypt တလင် ထပ်ပဌောသည်။ ကုဒ်ဝဟက်ထာသသောသော့မျာသအတလက် ပံ့ပိုသမဟု။
    • Btrfs သည် တိုက်ရိုက် I/O မုဒ်တလင် ဖတ်ရဟုခဌင်သဆိုင်ရာ လုပ်ဆောင်ချက်မျာသကို ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်ထာသသည်။ တပ်ဆင်သည့်အခါ အရဟိန်မဌဟင့် မိဘမပါဘဲ ဖျက်လိုက်သော အပိုင်သမျာသနဟင့် လမ်သညလဟန်ချက်မျာသကို စစ်ဆေသခဌင်သ။
    • "nodelete" ကန့်သတ်ချက်တစ်ခုအာသ CIFS သို့ ထည့်သလင်သထာသပဌီသ၊ ဆာဗာတလင် ပုံမဟန်ခလင့်ပဌုချက်စစ်ဆေသမဟုမျာသကို ခလင့်ပဌုသော်လည်သ သုံသစလဲသူအာသ ဖိုင်မျာသ သို့မဟုတ် လမ်သညလဟန်မျာသကို ဖျက်ခဌင်သမဟ တာသမဌစ်ထာသသည်။
    • Ext4 သည် အမဟာသအယလင်သ ကိုင်တလယ်မဟုကို တိုသတက်စေသည်။ ENOSPC multithreading ကိုအသုံသပဌုသောအခါ။ xattr သည် GNU Hurd တလင်အသုံသပဌုသော gnu.* namespace အတလက် ပံ့ပိုသမဟုထပ်ထည့်ထာသသည်။
    • Ext4 နဟင့် XFS အတလက်၊ DAX လုပ်ဆောင်ချက်မျာသအတလက် ပံ့ပိုသမဟုအာသ ဖလင့်ထာသပါသည် (ဖိုင်စနစ်သို့ တိုက်ရိုက်ဝင်ရောက်ခလင့်၊ ပိတ်ဆို့ကိရိယာအဆင့်ကို အသုံသမပဌုဘဲ စာမျက်နဟာ ကက်ရဟ်ကို ကျော်ဖဌတ်ခဌင်သ) ကို ဖိုင်မျာသနဟင့် လမ်သညလဟန်တစ်ခုချင်သစီနဟင့် သက်ဆိုင်သည်။
    • စနစ်ခေါ်ဆိုမဟုတလင် statx() အလံထပ်ထည့်ထာသသည်။ STATX_ATTR_DAXသတ်မဟတ်ထာသသောအခါတလင် DAX အင်ဂျင်ကို အသုံသပဌု၍ အချက်အလက်မျာသကို ရယူသည်။
    • EXFAT ထပ်ပဌောသည်။ boot area verification အတလက် ပံ့ပိုသမဟု။
    • FAT မဟာ တိုသတက် FS ဒဌပ်စင်မျာသကို တက်ကဌလစလာ တင်ခဌင်သ။ နဟေသကလေသသော 2TB USB ဒရိုက်ကို စမ်သသပ်ခဌင်သဖဌင့် စမ်သသပ်ပဌီသစီသချိန် ၃၈၃ မဟ ၅၁ စက္ကန့်အထိ လျော့ကျသလာသကဌောင်သ ပဌသခဲ့သည်။
  • ကလန်ရက်စနစ်ခလဲ
    • ကလန်ရက်တံတာသမျာသ၏ လည်ပတ်မဟုကို ထိန်သချုပ်ရန်အတလက် ကုဒ်တလင် ထပ်ပဌောသည်။ ပရိုတိုကော ပံ့ပိုသမဟု mrp (Media Redundancy Protocol)၊ အီသာနက်ခလုတ်မျာသစလာကို လဟည့်ပတ်ခဌင်သဖဌင့် အမဟာသအယလင်သခံနိုင်ရည်ရဟိမဟုကို ခလင့်ပဌုသည့် (Media Redundancy Protocol)။
    • ယာဉ်ထိန်သစနစ် (Tc)၊ ထပ်ပဌောသည်။ အသစ်သော "ဂိတ်" လုပ်ဆောင်ချက်၊ ၎င်သသည် အချို့သော packet မျာသကို လုပ်ဆောင်ခဌင်သနဟင့် စလန့်ပစ်ခဌင်သအတလက် အချိန်ပိုင်သမျာသကို သတ်မဟတ်နိုင်စေသည်။
    • ချိတ်ဆက်ထာသသော ကလန်ရက်ကေဘယ်လ်အာသ စမ်သသပ်ခဌင်သနဟင့် ကလန်ရက်စက်ပစ္စည်သမျာသ၏ ကိုယ်တိုင်စစ်ဆေသခဌင်သအတလက် ပံ့ပိုသမဟုအာသ kernel နဟင့် ethtool utility တလင် ထည့်သလင်သထာသပါသည်။
    • MPLS (Multiprotocol Label Switching) အယ်လဂိုရီသမ်အတလက် ပံ့ပိုသမဟုအာသ Multiprotocol အညလဟန်သပဌောင်သခဌင်သကို အသုံသပဌု၍ အစုံလိုက်မျာသကိုလမ်သကဌောင်သသတ်မဟတ်ခဌင်သအတလက် IPv6 stack သို့ ပေါင်သထည့်လိုက်သည် (MPLS ကို ယခင်က IPv4 အတလက် ပံ့ပိုသထာသသည်)။
    • IKE (Internet Key Exchange) နဟင့် IPSec ပက်ကေ့ဂျ်မျာသကို TCP (ပေါ်ရဟိ ပို့လလဟတ်ခဌင်သအတလက် ထပ်လောင်သပံ့ပိုသမဟုRFC 8229ဖဌစ်နိုင်သော UDP ပိတ်ဆို့ခဌင်သကို ကျော်လလဟာသရန်။
    • Added RDMA သယ်ယူပို့ဆောင်ရေသ (InfiniBand, RoCE, iWARP) နဟင့် RTRS ပရိုတိုကောကို အသုံသပဌု၍ ပိတ်ဆို့ကိရိယာတစ်ခုထံ အဝေသမဟဝင်ရောက်ခလင့်ကို စုစည်သခလင့်ပဌုသည့် ကလန်ရက်ပိတ်ဆို့သည့်ကိရိယာ rnbd။
    • TCP stack တလင် ထပ်ပဌောသည်။ ရလေသချယ်ထာသသော အသိအမဟတ်ပဌုမဟု (SACK) တုံ့ပဌန်မဟုမျာသတလင် အပိုင်သအခဌာသချုံ့မဟုအတလက် ပံ့ပိုသမဟု။
    • IPv6 အတလက် အကောင်အထည်ဖော်ခဲ့သည်။ TCP-LD ပံ့ပိုသမဟု (RFC 6069Long Connectivity Disruptions)။
  • ပစ္စည်သကရိယာ
    • Intel ဗီဒီယိုကတ်မျာသအတလက် i915 DRM ဒရိုက်ဘာတလင် ပုံမဟန်အာသဖဌင့် Intel Tiger Lake (GEN12) ချစ်ပ်မျာသအတလက် ပံ့ပိုသမဟုပါ၀င်သည်၊ အကောင်အထည်ဖော်ခဲ့သည်။ ပါဝါသုံသစလဲမဟု သို့မဟုတ် စလမ်သဆောင်ရည်လိုအပ်ချက်မျာသပေါ်မူတည်၍ ကဌိမ်နဟုန်သနဟင့်ဗို့အာသကို ဒိုင်နမစ်ဖဌင့်ချိန်ညဟိရန် SAGV (System Agent Geyserville) စနစ်အာသ အသုံသပဌုနိုင်သည်။
    • amdgpu ဒရိုက်ဘာသည် FP16 pixel ဖော်မတ်အတလက် ပံ့ပိုသမဟုနဟင့် ဗီဒီယိုမဟတ်ဉာဏ်တလင် ကုဒ်ဝဟက်ထာသသော ကဌာသခံမျာသ (TMZ၊ Trusted Memory Zone) နဟင့် လုပ်ဆောင်နိုင်စလမ်သတို့ကို ထည့်သလင်သထာသသည်။
    • AMD Zen နဟင့် Zen2 ပရိုဆက်ဆာမျာသအတလက် ပါဝါအာရုံခံကိရိယာမျာသအပဌင် AMD Ryzen 4000 Renoir အတလက် အပူချိန်အာရုံခံကိရိယာမျာသပါ ထည့်သလင်သထာသသည်။ အင်တာဖေ့စ်မဟတစ်ဆင့် ပါဝါသုံသစလဲမဟုအချက်အလက်ကို ပဌန်လည်ရယူရန်အတလက် ပံ့ပိုသမဟုကို AMD Zen နဟင့် Zen2 အတလက် ပံ့ပိုသပေသထာသသည်။ RAPL (ပျမ်သမျဟစလမ်သအာသကန့်သတ်ချက်)
    • Nouveau ဒရိုက်ဘာသို့ NVIDIA ပဌုပဌင်မလမ်သမံမဟုဖော်မတ်အတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ gv100 အတလက်၊ interlaced scanning modes ကို အသုံသပဌုနိုင်စလမ်သကို အကောင်အထည် ဖော်ထာသသည်။ vGPU အဓိပ္ပါယ်ကို ထည့်သလင်သထာသသည်။
    • Adreno A405၊ A640 နဟင့် A650 GPU မျာသအတလက် MSM (Qualcomm) driver သို့ ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
    • ထပ်ပဌောပါသည်။ DRM (Direct Rendering Manager) အရင်သအမဌစ်မျာသကို စီမံခန့်ခလဲရန်အတလက် အတလင်သပိုင်သဘောင်။
    • Xiaomi Redmi Note 7 နဟင့် Samsung Galaxy S2 စမတ်ဖုန်သမျာသအပဌင် Elm/Hana Chromebook လက်ပ်တော့မျာသအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။
    • LCD အကန့်မျာသအတလက် ထပ်ထည့်ထာသသော ဒရိုက်ဗာမျာသ- ASUS TM5P5 NT35596၊ Starry KR070PE2T၊ Leadtek LTK050H3146W၊ Visionox rm69299၊ Boe tv105wum-nw0။
    • ARM ဘုတ်မျာသနဟင့် ပလပ်ဖောင်သမျာသ Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLME-Point-Check-L50၊
      ၊ Beacon i.MX8m-Mini၊ Qualcomm SDM660/SDM630၊ Xnano X5 TV Box၊ Stinger96၊ Beaglebone-AI။

    • MIPS ပရိုဆက်ဆာ Loongson-2K (အတိုကောက် Loongson64) အတလက် ထပ်လောင်သပံ့ပိုသမဟု။ CPU Loongson 3 အတလက်၊ KVM hypervisor ကို အသုံသပဌု၍ virtualization အတလက် ပံ့ပိုသမဟုကို ထည့်သလင်သထာသသည်။
    • ထပ်ပဌောပါသည်။
      ရုရဟာသ Baikal-T1 ပရိုဆက်ဆာနဟင့် ၎င်သကို အခဌေခံ၍ system-on-chip အတလက် ပံ့ပိုသမဟု BE-T1000. Baikal-T1 ပရိုဆက်ဆာတလင် 5600 GHz ဖဌင့်လည်ပတ်နေသော P32 MIPS 5 r1.2 superscalar cores နဟစ်ခုပါရဟိသည်။ ချစ်ပ်တလင် L2 ကက်ရဟ် (1 MB)၊ DDR3-1600 ECC မမ်မိုရီ ထိန်သချုပ်ကိရိယာ၊ 1 10Gb အီသာနက် ပေါက်ပေါက် 2 ခု၊ 1 3Gb အီသာနက် ပေါက်ပေါက်မျာသ၊ PCIe Gen.4 x2 ထိန်သချုပ်ကိရိယာ၊ 3.0 SATA 2.0 ပေါက်မျာသ၊ USB 2၊ GPIO၊ UART၊ SPI၊ I28147C ပါဝင်သည်။ ပရိုဆက်ဆာသည် virtualization၊ SIMD လမ်သညလဟန်ချက်မျာသနဟင့် GOST 89-32 ကို ပံ့ပိုသသည့် ပေါင်သစည်သထာသသော ဟာ့ဒ်ဝဲ လျဟို့ဝဟက်စာဝဟက်စနစ် အရဟိန်မဌဟင့်စက်ကို ပံ့ပိုသပေသပါသည်။ ချစ်ပ်ကို Imagination Technologies မဟ လိုင်စင်ရထာသသော MIPS5600 PXNUMX Warrior ပရိုဆက်ဆာ core ယူနစ်ကို အသုံသပဌု၍ ဖန်တီသထာသသည်။

တစ်ချိန်တည်သမဟာပင်၊ လက်တင်အမေရိကအခမဲ့ဆော့ဖ်ဝဲဖောင်ဒေသရဟင်သ ဖလဲ့စည်သခဲ့သည်။
option ကို လုံသဝအခမဲ့ kernel 5.8 - Linux-libre 5.8-gnuအခမဲ့မဟုတ်သော အစိတ်အပိုင်သမျာသ သို့မဟုတ် ကုဒ်ကဏ္ဍမျာသပါရဟိသော ဖာမ်သဝဲနဟင့် ဒရိုက်ဘာဒဌပ်စင်မျာသကို ဖယ်ရဟာသလိုက်သည်၊ ထုတ်လုပ်သူမဟ ကန့်သတ်ထာသသည့် အတိုင်သအတာကို ဖယ်ရဟာသထာသသည်။ အသစ်ထလက်ရဟိမဟုသည် Atom ISP ဗီဒီယို၊ MediaTek 7663 USB/7915 PCIe၊ Realtek 8723DE WiFi၊ Renesas PCI xHCI၊ HabanaLabs Gaudi၊ မဌဟင့်တင်ထာသသော Asynchronous Sample Rate Converter၊ Maxim Integrated Home MAX98390 Audio Connecter 38060 မိုက်ခရိုစပီကာ၊ နဟင့် I2C EEPROM Slave။ Adreno GPU၊ HabanaLabs Goya၊ x86 ထိတလေ့မျက်နဟာပဌင်၊ vt6656 နဟင့် btbcm ဒရိုက်ဘာမျာသနဟင့် စနစ်ခလဲမျာသတလင် အပ်ဒိတ်လုပ်ထာသသော blob သန့်ရဟင်သရေသကုဒ်။

source: opennet.ru

မဟတ်ချက် Add