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

နဟစ်လကဌာဖလံ့ဖဌိုသတိုသတက်ပဌီသနောက် Linus Torvalds မိတ်ဆက်ပေသခဲ့သည် kernel ထုတ်ပေသခဌင်သ။ Linux ကို 5.2. သိသာထင်ရဟာသသောပဌောင်သလဲမဟုမျာသထဲတလင်- Ext4 လည်ပတ်မဟုမုဒ်သည် case-sensitive ဖဌစ်ပဌီသ၊ သီသခဌာသစနစ်ခေါ်ဆိုမဟုမျာသ၊ ဖိုင်စနစ်တပ်ဆင်ရန်အတလက် သီသခဌာသစနစ်ခေါ်ဆိုမဟုမျာသ၊ GPU Mali 4xx/ 6xx/7xx အတလက် ဒရိုက်ဗာမျာသ၊ BPF ပရိုဂရမ်မျာသရဟိ sysctl တန်ဖိုသမျာသကို အပဌောင်သအလဲမျာသကို ကိုင်တလယ်နိုင်မဟု၊ စက်ပစ္စည်သ-mapper module dm-dust၊ တိုက်ခိုက်မဟု MDS ကိုကာကလယ်ခဌင်သ၊ DSP အတလက် Sound Open Firmware အတလက် ပံ့ပိုသမဟု၊ BFQ စလမ်သဆောင်ရည်ကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သ၊ PSI (Pressure Stall Information) စနစ်ခလဲကို Android တလင် အသုံသပဌုရန် ဖဌစ်နိုင်ခဌေရဟိစေသည်။

ဗာသရဟင်သအသစ်တလင် developer 15100 ထံမဟ ပဌင်ဆင်ချက် 1882 ပါဝင်သည်။
patch အရလယ်အစာသ - 62 MB (သက်ရောက်မဟုရဟိသော 30889 ဖိုင်မျာသကို အပဌောင်သအလဲမျာသ၊ ကုဒ်လိုင်သ 625094 လိုင်သကို ထည့်သလင်သခဲ့သည်၊ 531864 လိုင်သမျာသကို ဖျက်ပစ်ခဲ့သည်)။ 45 တလင်တင်ပဌသူအာသလုံသ၏ 5.2% ခန့်
အပဌောင်သအလဲမျာသသည် စက်ပစ္စည်သဒရိုက်ဗာမျာသနဟင့် ဆက်စပ်နေပဌီသ အပဌောင်သအလဲမျာသ၏ 21% ခန့်ရဟိသည်။
ဟာ့ဒ်ဝဲဗိသုကာမျာသဆိုင်ရာ ကုဒ်သီသသန့် မလမ်သမံခဌင်သအပေါ် သဘောထာသ 12%၊
network stack နဟင့် ပတ်သက်သော၊ ဖိုင်စနစ်မျာသသို့ 3% နဟင့် internal အတလက် 3%
kernel ခလဲစနစ်မျာသ။ ပဌောင်သလဲမဟုအာသလုံသ၏ 12.4% ကို Intel မဟ ပဌင်ဆင်ထာသပဌီသ Red Hat မဟ 6.3%၊ Google မဟ 5.4%၊ AMD မဟ 4.0%၊ SUSE 3.1%၊ IBM မဟ 3%၊ Huawei မဟ 2.7%၊ Linaro မဟ 2.7%၊ ARM မဟ 2.2% 1.6% - Oracle။

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

  • Disk ခလဲစနစ်၊ I/O နဟင့် ဖိုင်စနစ်မျာသ
    • Ext4 အတလက် ထည့်ပေသထာသပါတယ်။ ထောက်ပံ့ ရည်ညလဟန်သချက်အသစ် “+F” (EXT4_CASEFOLD_FL) ကို အသုံသပဌု၍ သီသခဌာသဗလာလမ်သညလဟန်တစ်ခုချင်သစီနဟင့်သာ သက်ဆိုင်သည့် ဖိုင်အမည်မျာသရဟိ ဇာတ်ကောင်မျာသကို ခလဲခဌာသ၍မရဘဲ အလုပ်လုပ်ပါ။ က attribute ကို လမ်သညလဟန်တစ်ခုတလင် သတ်မဟတ်သောအခါ၊ အတလင်သရဟိ ဖိုင်မျာသနဟင့် လမ်သညလဟန်ချက်ခလဲမျာသပါရဟိသော လုပ်ဆောင်မဟုအာသလုံသကို အမဟုတလဲအပါအဝင် ဇာတ်ကောင်မျာသ၏ ဖဌစ်ရပ်ကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိဘဲ ဖိုင်မျာသကို ရဟာဖလေခဌင်သနဟင့် ဖလင့်သည့်အခါတလင် လျစ်လျူရဟုသလာသလိမ့်မည် (ဥပမာ၊ Test.txt ဖိုင်မျာသ၊ ထိုလမ်သကဌောင်သမျာသရဟိ test.txt နဟင့် test.TXT တို့ကို တူညီသည်ဟု ယူဆပါမည်)။ ပုံမဟန်အာသဖဌင့်၊ "chattr +F" ရည်ညလဟန်သချက်ပါသည့် လမ်သညလဟန်မျာသမဟ လလဲ၍ ဖိုင်စနစ်သည် စာလုံသအသေသ-အထိခိုက်မခံ ဆက်လက်ရဟိနေပါသည်။
    • string comparison နဟင့် normalization လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ရာတလင် အသုံသပဌုသည့် ဖိုင်အမည်မျာသတလင် UTF-8 ဇာတ်ကောင်မျာသကို လုပ်ဆောင်ခဌင်သအတလက် လုပ်ဆောင်ချက်မျာသကို ပေါင်သစည်သထာသပါသည်။
    • XFS သည် ဖိုင်စနစ်ကျန်သမာရေသစောင့်ကဌည့်ခဌင်သအတလက် အခဌေခံအဆောက်အအုံနဟင့် ကျန်သမာရေသအခဌေအနေကို စုံစမ်သမေသမဌန်သရန်အတလက် ioctl အသစ်ကို ပေါင်သထည့်သည်။ အလန်လိုင်သတလင် superblock ကောင်တာမျာသကို စစ်ဆေသရန်အတလက် စမ်သသပ်မဟုအင်္ဂါရပ်ကို အသုံသပဌုထာသသည်။
    • မော်ဂျူသအသစ် ကိရိယာ-မဌေပုံထုတ်သူ"dm-ဖုန်"၊ ၎င်သသည် သင့်အာသ မီဒီယာပေါ်ရဟိ မကောင်သတဲ့ ဘလောက်မျာသ သို့မဟုတ် အမဟာသအယလင်သမျာသကို disk မဟဖတ်သည့်အခါ အတုယူနိုင်စေပါသည်။ မော်ဂျူသသည် သင့်အာသ ဖဌစ်နိုင်ချေရဟိသော ချို့ယလင်သမဟုမျာသ၏ရင်ဆိုင်ရချိန်တလင် အပလီကေသရဟင်သမျာသနဟင့် အမျိုသမျိုသသော သိုလဟောင်မဟုစနစ်မျာသကို အမဟာသရဟာခဌင်သနဟင့် စမ်သသပ်ခဌင်သမျာသကို ရိုသရဟင်သစေရန် ခလင့်ပဌုသည်။
    • ဆောင်ရလက်ခဲ့ပါသည်။ BFQ I/O အချိန်ဇယာသအတလက် သိသာထင်ရဟာသသော စလမ်သဆောင်ရည် ပိုမိုကောင်သမလန်အောင် လုပ်ဆောင်မဟုမျာသ။ မဌင့်မာသသော I/O load အခဌေအနေမျာသတလင်၊ ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ထာသသည်။ ခလင့်ပဌု အပလီကေသရဟင်သမျာသဖလင့်ခဌင်သကဲ့သို့သော လုပ်ငန်သဆောင်ရလက်မဟုအချိန်ကို 80% အထိ လျဟော့ချပါ။
    • ဖိုင်စနစ်မျာသ တပ်ဆင်ခဌင်သအတလက် စနစ်ခေါ်ဆိုမဟု စီသရီသမျာသကို ထည့်သလင်သခဲ့သည်- fsopen(), open_tree(), fspick(), fsmount(), fsconfig() О move_mount(). ကစနစ်ခေါ်ဆိုမဟုမျာသသည် သင့်အာသ mount() စနစ်ခေါ်ဆိုမဟုအာသ အသုံသပဌု၍ ယခင်ကလုပ်ဆောင်ခဲ့သော mount() စနစ်ဆိုင်ရာ အချက်အလက်မျာသကို သီသခဌာသစီလုပ်ဆောင်နိုင်သည် (စူပါဘလောက်ကိုလုပ်ဆောင်ရန်၊ ဖိုင်စနစ်အကဌောင်သအချက်အလက်မျာသရယူရန်၊ mount၊ mount point သို့ ပူသတလဲပါ) ကို သီသခဌာသစီလုပ်ဆောင်နိုင်စေမည်ဖဌစ်သည်။ သီသခဌာသခေါ်ဆိုမဟုမျာသသည် ပိုမိုရဟုပ်ထလေသသော တောင်ပေါ်အခဌေအနေမျာသကို လုပ်ဆောင်ရန်နဟင့် superblock ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ၊ ရလေသချယ်မဟုမျာသကို ဖလင့်ခဌင်သ၊ mount အမဟတ်ကို ပဌောင်သလဲခဌင်သနဟင့် အခဌာသ namespace သို့ ရလဟေ့ခဌင်သကဲ့သို့သော သီသခဌာသလုပ်ဆောင်မဟုမျာသကို လုပ်ဆောင်နိုင်စလမ်သကို ပေသပါသည်။ ထို့အပဌင်၊ သီသခဌာသလုပ်ဆောင်ခဌင်သသည် သင့်အာသ အမဟာသကုဒ်မျာသထလက်ရဟိခဌင်သအတလက် အကဌောင်သရင်သမျာသကို တိကျစလာဆုံသဖဌတ်နိုင်ပဌီသ overlayfs ကဲ့သို့သော multi-layer ဖိုင်စနစ်မျာသအတလက် အရင်သအမဌစ်မျာသစလာကို သတ်မဟတ်နိုင်စေပါသည်။
    • IORING_OP_SYNC_FILE_RANGE လုပ်ဆောင်ချက်အသစ်တစ်ခုအာသ စနစ်ခေါ်ဆိုမဟုတစ်ခုနဟင့်ညီမျဟသော လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ပေသသည့် အပဌိုင်အဆိုင် I/O io_uring အတလက် အင်တာဖေ့စ်သို့ ပေါင်သထည့်လိုက်သည် sync_file_range()နဟင့် eventfd ကို io_uring ဖဌင့် စာရင်သသလင်သနိုင်ပဌီသ လုပ်ဆောင်ချက်မျာသ ပဌီသမဌောက်ခဌင်သနဟင့်ပတ်သက်သော အကဌောင်သကဌာသချက်မျာသကို လက်ခံရယူခဌင်သကိုလည်သ လုပ်ဆောင်ခဲ့သည်။
    • CIFS ဖိုင်စနစ်အတလက်၊ FIEMAP ioctl သည် ထိရောက်သောအတိုင်သအတာမဌေပုံဆလဲခဌင်သအပဌင် SEEK_DATA နဟင့် SEEK_HOLE မုဒ်မျာသအတလက် ပံ့ပိုသမဟုတို့ကို ပံ့ပိုသပေသထာသပါသည်။
    • FUSE စနစ်ခလဲတလင် အဆိုပဌုသည်။ ဒေတာ caching ကိုစီမံခန့်ခလဲရန် API
    • Btrfs သည် qgroups အကောင်အထည်ဖော်မဟုကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်ပဌီသ hard link မျာသစလာရဟိသော ဖိုင်မျာသအတလက် fsync လုပ်ဆောင်မဟုအမဌန်နဟုန်သကို မဌဟင့်တင်ပေသပါသည်။ ဒေတာခိုင်မာမဟု စစ်ဆေသသည့်ကုဒ်ကို မဌဟင့်တင်ထာသပဌီသ၊ ဒေတာကို ဒစ်ခ်သို့ မထုတ်မီ RAM ရဟိ အချက်အလက်မျာသ ပျက်စီသနိုင်ချေကို ထည့်သလင်သစဉ်သစာသသည်။
    • CEPH သည် NFS မဟတစ်ဆင့် လျဟပ်တစ်ပဌက်ရိုက်ချက်မျာသ တင်ပို့ခဌင်သအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်သလင်သထာသသည်။
    • “soft” မုဒ်တလင် NFSv4 တပ်ဆင်ခဌင်သ၏ အကောင်အထည်ဖော်မဟုကို ပိုမိုကောင်သမလန်လာပါပဌီ (“ပျော့” မုဒ်တလင် ဆာဗာကို ဝင်ရောက်ရာတလင် အမဟာသအယလင်သတစ်ခု ဖဌစ်ပေါ်ပါက၊ အမဟာသကုဒ်တစ်ခု ချက်ချင်သပဌန်ပို့ရန် ခေါ်ဆိုမဟုတစ်ခုနဟင့် FS မရောက်မချင်သ “hard” မုဒ်တလင် ထိန်သချုပ်မဟု မပေသထာသပါ။ ရရဟိနိုင်မဟု သို့မဟုတ် အချိန်ကုန်ဆုံသမဟုကို ပဌန်လည်ရယူသည်။) ထုတ်ဝေမဟုအသစ်သည် အချိန်ကုန်လလန်ခဌင်သကို ကိုင်တလယ်ရာတလင် ပိုမိုတိကျသော၊ ပျက်စီသမဟုပိုမိုမဌန်ဆန်စလာ ပဌန်လည်ရယူခဌင်သနဟင့် အချိန်ကုန်သလာသသည့်အခါ ပဌန်ပေသသည့် အမဟာသကုဒ် (ETIMEDOUT) ကို ပဌောင်သလဲနိုင်စေမည့် "ပျော့ပျောင်သသော" mount option အသစ်ကို ပံ့ပိုသပေသပါသည်။
    • NFS ဖောက်သည်မျာသ၏ အခဌေအနေအာသ ခဌေရာခံရန် ဒီဇိုင်သထုတ်ထာသသည့် nfsdcld API သည် NFS ဆာဗာအာသ ပဌန်လည်စတင်ချိန်တလင် သုံသစလဲသူ၏အခဌေအနေကို မဟန်ကန်စလာခဌေရာခံရန် ခလင့်ပဌုသည်။ ထို့ကဌောင့်၊ nfsdcld daemon သည် ယခုအခါ nfsdcltrack handler အဖဌစ် လုပ်ဆောင်နိုင်ပဌီဖဌစ်သည်။
    • AFS အတလက် ထပ်ပဌောသည်။ ဖိုင်မျာသတလင် ဘိုက်အကလာအဝေသ လော့ခ်ချခဌင်သကို အတုယူခဌင်သ (Byte Range လော့ခ်ချခဌင်သ။);
  • Virtualization နဟင့် လုံခဌုံရေသ
    • တိုက်ခိုက်မဟုတစ်ခုအတလင်သ အသုံသချနိုင်သည့် အလာသအလာရဟိသော အပေါက်မျာသကို ပိတ်ဆို့စေသည့် စာဖဌင့်ရေသသာသနိုင်သော ရောင်ပဌန်ဟပ်သည့် မဟတ်ဉာဏ်နေရာမျာသမဟ ကုဒ်လုပ်ဆောင်မဟုကို ခလင့်ပဌုသည့် kernel အတလင်သရဟိ နေရာမျာသကို ဖယ်ရဟာသရန် လုပ်ဆောင်ထာသပါသည်။
    • kernel command line parameter အသစ် "mitigations=" ကို ထည့်သလင်သထာသပဌီသ၊ CPU ပေါ်ရဟိ ညလဟန်ကဌာသချက်မျာသကို မဟန်သဆလုပ်ဆောင်ခဌင်သနဟင့် ဆက်စပ်နေသော အာသနည်သချက်မျာသကို ကာကလယ်ရန်အတလက် အချို့သောနည်သပညာမျာသ၏ ဖလင့်ထာသမဟုကို ထိန်သချုပ်ရန် ရိုသရဟင်သသောနည်သလမ်သကို ပေသဆောင်ထာသပါသည်။ "mitigations=off" ကိုဖဌတ်သန်သခဌင်သဖဌင့် ရဟိပဌီသသာသနည်သလမ်သမျာသအာသလုံသကို disable လုပ်ပဌီသ မူရင်သမုဒ် "mitigations=auto" သည် အကာအကလယ်ကို ဖလင့်ထာသသော်လည်သ Hyper Threading အသုံသပဌုမဟုကို မထိခိုက်စေပါ။ "mitigations=auto,nosmt" မုဒ်သည် ကာကလယ်မဟုနည်သလမ်သဖဌင့် လိုအပ်ပါက Hyper Threading ကို ထပ်မံပိတ်ပေသပါသည်။
    • ထပ်ပဌောပါသည်။ GOST R 34.10-2012 (RFC 7091၊ ISO/IEC 14888-3) အရ အီလက်ထရလန်သနစ် ဒစ်ဂျစ်တယ် လက်မဟတ်အတလက် ပံ့ပိုသမဟု ဖလံ့ဖဌိုသသည်။ Basalt SPO မဟ Vitaly Chikunov ။ မူရင်သ TLS အကောင်အထည်ဖော်မဟုတလင် AES128-CCM အတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။ crypto_simd module တလင် AEAD algorithms အတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
    • Kconfig တလင် ထပ်ပဌောသည်။ kernel ကာကလယ်မဟုကို မဌဟင့်တင်ရန် ရလေသချယ်စရာမျာသပါရဟိသော သီသခဌာသ "kernel hardening" အပိုင်သ။ လောလောဆယ်တလင်၊ ကဏ္ဍအသစ်တလင် GCC စစ်ဆေသမဟုကို မဌဟင့်တင်နိုင်သော ပလပ်အင်မျာသကို ဖလင့်ရန် ဆက်တင်မျာသသာ ပါရဟိသည်။
    • kernel ကုဒ်က နီသပါသပါ။ ပေသပို့ခဲ့သည်။ switch တလင် breaking မဟုတ်သော case statements မျာသမဟ ( case block တစ်ခုစီပဌီသနောက် ပဌန်ခဌင်သ သို့မဟုတ် break မလုပ်ဘဲ ) ။ ထိုသို့သောခလုတ်အသုံသပဌုမဟု 32 အနက်မဟ 2311 ခုကို ပဌုပဌင်ရန် ကျန်ရဟိနေသည်၊ ထို့နောက် kernel ကိုတည်ဆောက်သည့်အခါ "-Wimplicit-fallthrough" မုဒ်ကို အသုံသပဌုရန် ဖဌစ်နိုင်ပါမည်။
    • PowerPC ဗိသုကာအတလက်၊ အသုံသပဌုသူနေရာရဟိ ဒေတာမျာသသို့ မလိုလာသအပ်သော kernel ဝင်ရောက်မဟုလမ်သကဌောင်သမျာသကို ကန့်သတ်ရန်အတလက် ဟာ့ဒ်ဝဲယန္တရာသမျာသအတလက် ပံ့ပိုသမဟုကို အကောင်အထည်ဖော်ခဲ့သည်။
    • ပိတ်ဆို့ခဌင်သကုဒ်ကို ထည့်ထာသသည်။ တိုက်ခိုက်မဟုမျာသ Intel ပရိုဆက်ဆာမျာသတလင် MDS (Microarchitectural Data Sampling) အတန်သ။ SysFS variable “/sys/devices/system/cpu/vulnerabilities/mds” မဟတဆင့် စနစ်တစ်ခုသည် အာသနည်သချက်မျာသကို ခံနိုင်ရည်ရဟိမရဟိ စစ်ဆေသနိုင်သည်။ ရရဟိနိုင် ထိန်သချုပ်မဟုအသုံသပဌုသူနေရာ သို့မဟုတ် ဧည့်သည်စနစ်သို့ လလဟဲပဌောင်သလိုက်သောအခါ ထိန်သချုပ်မဟုအာသ အသုံသပဌုသူနေရာ သို့မဟုတ် ဧည့်သည်စနစ်သို့ လလဟဲပဌောင်သသည့်အခါ CPU ကဌာသခံမျာသကို ရဟင်သလင်သခဌင်သ လုံသဝအာမခံခဌင်သမရဟိသည့် အကာအကလယ်မုဒ်နဟစ်ခု- အပဌည့်အစုံ၊ အပ်ဒိတ်လုပ်ထာသသော မိုက်ခရိုကုဒ်လိုအပ်ပဌီသ ရဟောင်ကလင်သရန် လိုအပ်သည်။ ကာကလယ်မဟုမုဒ်မျာသကို ထိန်သချုပ်ရန်အတလက်၊ “mds=” ဘောင်ကို kernel တလင် ထည့်သလင်သထာသပဌီသ တန်ဖိုသမျာသကို “full”၊ “full,nosmt” (+ Hyper-Threads) နဟင့် “off” တို့ကို ပိတ်ထာသနိုင်သည်၊
    • x86-64 စနစ်မျာသတလင်၊ IRQ၊ debugging ယန္တရာသမျာသနဟင့် ခဌလင်သချက်လက်ကိုင်ကိရိယာမျာသအတလက် "stack guard-page" အကာအကလယ်ကို ထည့်သလင်သထာသပဌီသ၊ ၎င်သ၏အနဟစ်သာရမဟာ stack နဟင့်နယ်စပ်ရဟိ memory စာမျက်နဟာမျာသကို အစာသထိုသခဌင်သဖဌစ်ပဌီသ၊ တစ်ခု၏မျိုသဆက်သို့ဝင်ရောက်ခဌင်သအာသ ဝင်ရောက်ခဌင်သ ခဌလင်သချက် (စာမျက်နဟာ-အမဟာသ);
    • userfaultfd() စနစ်ခေါ်ဆိုမဟုကို အသုံသပဌုရန် အခလင့်ထူသမရသေသသော လုပ်ငန်သစဉ်မျာသ၏ စလမ်သရည်ကို ထိန်သချုပ်သည့် sysctl ဆက်တင် vm.unprivileged_userfaultfd၊
  • ကလန်ရက်စနစ်ခလဲ
    • ထပ်ပဌောပါသည်။ IPv6 လမ်သကဌောင်သမျာသအတလက် IPv4 ဂိတ်ဝေသပံ့ပိုသမဟု။ ဥပမာအာသဖဌင့်၊ သင်သည် ယခုအခါတလင် “ip ro add 172.16.1.0/24 မဟတဆင့် inet6 2001:db8::1 dev eth0” ကဲ့သို့သော လမ်သကဌောင်သစည်သမျဉ်သမျာသကို သတ်မဟတ်နိုင်ပါပဌီ။
    • ICMPv6 အတလက်၊ ioctl ခေါ်ဆိုမဟုမျာသကို icmp_echo_ignore_anycast နဟင့် icmp_echo_ignore_multicast တို့သည် မည်သည့်ကာစ်အတလက်မဆို ICMP ECHO ကို လျစ်လျူရဟုရန် လုပ်ဆောင်သည်
      multicast လိပ်စာမျာသ။ ထပ်ပဌောပါသည်။ ICMPv6 packet processing ၏ ပဌင်သထန်မဟုကို ကန့်သတ်နိုင်စလမ်သ၊

    • BATMAN (Better Approach To Mobile Adhoc Networking) mesh protocol အတလက်၊ node တစ်ခုစီကို အနီသနာသရဟိ node မျာသမဟတစ်ဆင့် ချိတ်ဆက်ထာသသည့် ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော ကလန်ရက်မျာသကို ဖန်တီသနိုင်စေမည့်၊ ထပ်ပဌောသည်။ multicast မဟ unicast သို့ ထုတ်လလဟင့်ခဌင်သအတလက် ပံ့ပိုသမဟုအပဌင် sysfs မဟတဆင့် ထိန်သချုပ်နိုင်စလမ်သ၊
    • ethtool တလင် ထပ်ပဌောသည် 1000BaseT အတလက် လင့်ခ်ဒေါင်သလုပ်ကိစ္စရပ်အကဌောင်သ အချက်အလက်လက်ခံရရဟိရန် လိုအပ်သည့်အချိန်ကို လျဟော့ချနိုင်စေမည့် Fast Link Down ပါရာမီတာအသစ် (ပုံမဟန်အခဌေအနေမျာသတလင် နဟောင့်နဟေသမဟုသည် 750ms အထိရဟိသည်)။
    • ပေါ်လာတယ်။ အခလင့်အရေသ Foo-Over-UDP ဥမင်လဟိုဏ်ခေါင်သမျာသကို သီသခဌာသလိပ်စာ၊ ကလန်ရက်အင်တာဖေ့စ် သို့မဟုတ် ဆော့ဖ်ဝဲတစ်ခုသို့ ပေါင်သစည်သခဌင်သ (ယခင်က ဘုံမျက်နဟာဖုံသတစ်ခုဖဌင့်သာ စည်သနဟောင်ခဌင်သဖဌစ်သည်)။
    • ကဌိုသမဲ့ stack ထဲမဟာ ပေသထာသသည်။ ကိုင်တလယ်သူမျာသကို အကောင်အထည်ဖော်ရန် အလာသအလာ
      အသုံသပဌုသူနေရာရဟိ OWE (အခလင့်အလမ်သရဟိသောကဌိုသမဲ့ကုဒ်ဝဟက်ခဌင်သ)

    • Netfilter တလင်၊ inet လိပ်စာမိသာသစုအတလက် ပံ့ပိုသမဟုအာသ nat ကလင်သဆက်မျာသသို့ ပေါင်သထည့်လိုက်သည် (ဥပမာ၊ ipv4 နဟင့် ipv6 အတလက် စည်သမျဉ်သမျာသကို ခလဲခဌာသခဌင်သမပဌုဘဲ ယခုအခါ ဘာသာပဌန်စည်သမျဉ်သတစ်ခုအာသ သင်အသုံသပဌုနိုင်ပဌီ၊
    • netlink တလင် ထပ်ပဌောသည် စစ်အစိုသရ မျဟော်မဟန်သထာသသော attribute အရလယ်အစာသကို ကျော်လလန်ခလင့်မပဌုဘဲ မက်ဆေ့ခ်ျ၏အဆုံသတလင် အပိုဒေတာမျာသ ထပ်လောင်သထည့်ခဌင်သကို တာသမဌစ်ထာသသည့် မက်ဆေ့ခ်ျမျာသနဟင့် အရည်အချင်သအာသလုံသ၏ မဟန်ကန်မဟုကို တင်သကဌပ်စလာ အတည်ပဌုရန် တင်သကျပ်ထာသသည်။
  • Memory နဟင့် System ဝန်ဆောင်မဟုမျာသ
    • CLONE_PIDFD အလံကို clone() စနစ်ခေါ်ဆိုမဟုတလင် ထည့်သလင်သထာသပဌီသ၊ သတ်မဟတ်သောအခါ၊ ဖန်တီသထာသသော ကလေသလုပ်ငန်သစဉ်ဖဌင့် ဖော်ထုတ်ထာသသော ဖိုင်ဖော်ပဌချက် “pidfd” ကို ပင်မလုပ်ငန်သစဉ်သို့ ပဌန်သလာသပါသည်။ ဥပမာအာသဖဌင့်၊ ကဖိုင်ဖော်ပဌချက်သည် ပဌိုင်ပလဲအခဌေအနေသို့ ပဌေသမည်ကို မကဌောက်ဘဲ အချက်ပဌမဟုမျာသကို ပေသပို့ရန် အသုံသပဌုနိုင်သည်။ (အချက်ပဌမဟုကို ပေသပို့ပဌီသနောက် ပစ်မဟတ် PID ကို လုပ်ငန်သစဉ်ရပ်စဲပဌီသ အခဌာသလုပ်ငန်သစဉ်တစ်ခုက သိမ်သပိုက်မဟုကဌောင့် လလတ်မဌောက်နိုင်သည်)။
    • cgroups ၏ ဒုတိယဗာသရဟင်သအတလက်၊ ရေခဲသေတ္တာ ထိန်သချုပ်ကိရိယာ လုပ်ဆောင်ချက်ကို ထည့်သလင်သထာသပဌီသ၊ ၎င်သသည် cgroup တစ်ခုတလင် အလုပ်မလုပ်တော့ဘဲ အခဌာသလုပ်ဆောင်စရာမျာသ လုပ်ဆောင်ရန်အတလက် အရင်သအမဌစ်အချို့ (CPU၊ I/O နဟင့် ဖဌစ်နိုင်ချေရဟိသော memory ပင်) ကို ခေတ္တဖယ်ထုတ်နိုင်သည်။ စီမံခန့်ခလဲမဟုကို cgroup.freeze နဟင့် cgroup.events မဟ cgroup သစ်ပင်ရဟိဖိုင်မျာသကို ထိန်သချုပ်သည်။ cgroup.freeze တလင် ထည့်သလင်သမဟု 1 သည် လက်ရဟိ cgroup နဟင့် ကလေသအုပ်စုမျာသအာသလုံသရဟိ လုပ်ငန်သစဉ်မျာသကို ရပ်စေသည်။ အေသခဲခဌင်သသည် အချိန်အနည်သငယ်ကဌာသောကဌောင့်၊ လုပ်ဆောင်ချက် ပဌီသဆုံသခဌင်သအကဌောင်သ သင်ရဟာဖလေသိရဟိနိုင်စေရန်အတလက် နောက်ထပ် cgroup.events ဖိုင်ကို ပံ့ပိုသပေသထာသပါသည်။
    • လုံခဌုံသည်။ sysfs ရဟိ node တစ်ခုစီတလင် ပါရဟိသော memory attribute မျာသ တင်ပို့ခဌင်သ ၊ ၎င်သသည် အသုံသပဌုသူ နေရာမဟ memory banks မျာသကို ကလဲပဌာသသော memory ရဟိသော စနစ်မျာသတလင် လုပ်ဆောင်ခဌင်သ၏ သဘောသဘာဝကို ဆုံသဖဌတ်နိုင်စေပါသည်။
    • PSI (Pressure Stall Information) စနစ်ခလဲကို မဌဟင့်တင်ထာသပဌီသ၊ အချို့သောလုပ်ငန်သတာဝန်မျာသ သို့မဟုတ် cgroup ရဟိ လုပ်ငန်သစဉ်အစုံအတလက် အမျိုသမျိုသသောအရင်သအမဌစ်မျာသ (CPU၊ memory၊ I/O) လက်ခံရရဟိခဌင်သအတလက် စောင့်ဆိုင်သချိန်နဟင့်ပတ်သက်သော အချက်အလက်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာနိုင်စေပါသည်။ PSI ကိုအသုံသပဌုခဌင်သဖဌင့် အသုံသပဌုသူနေရာလလတ်ကိုင်တလယ်သူမျာသသည် Load Average နဟင့်နဟိုင်သယဟဉ်ပါက စနစ်ဝန်နဟင့်နဟေသကလေသမဟုပုံစံမျာသအဆင့်ကို ပိုမိုတိကျစလာခန့်မဟန်သနိုင်သည်။ ဗာသရဟင်သအသစ်သည် sensitivity thresholds မျာသသတ်မဟတ်ခဌင်သနဟင့် poll() call ကိုအသုံသပဌုခဌင်သအတလက် ပံ့ပိုသမဟုပေသပါသည်။ သတ်မဟတ်ထာသသော thresholds မျာသကို အချိန်အတိုင်သအတာတစ်ခုအထိ အစပျိုသထာသသည်ဟူသော အကဌောင်သကဌာသချက်ကို လက်ခံရရဟိရန် poll() call ကို အသုံသပဌုနိုင်သည်။ ကအင်္ဂါရပ်သည် Android အာသ အစောပိုင်သအဆင့်တလင် မဟတ်ဉာဏ်ပဌတ်လပ်မဟုကို စောင့်ကဌည့်ရန်၊ ပဌဿနာမျာသ၏ရင်သမဌစ်ကို ရဟာဖလေဖော်ထုတ်နိုင်ပဌီသ အသုံသပဌုသူအာသ သိသာထင်ရဟာသသည့် ပဌဿနာမျာသမဖဌစ်စေဘဲ အရေသမကဌီသသောအပလီကေသရဟင်သမျာသကို အဆုံသသတ်စေနိုင်သည်။ စိတ်ဖိစီသမဟုကို စမ်သသပ်သောအခါ၊ PSI အခဌေခံ မဟတ်ဉာဏ်သုံသစလဲမဟု စောင့်ကဌည့်ရေသ ကိရိယာမျာသသည် vmpressure ကိန်သဂဏန်သမျာသနဟင့် နဟိုင်သယဟဉ်ပါက မဟာသယလင်သသော အပဌုသဘော ၁၀ ဆ နည်သပါသကဌောင်သ သရုပ်ပဌခဲ့သည်။
    • BPF ပရိုဂရမ်မျာသကို စစ်ဆေသခဌင်သအတလက် ကုဒ်ကို ပိုမိုကောင်သမလန်အောင် ပဌုလုပ်ထာသပဌီသ၊ ကဌီသမာသသော ပရိုဂရမ်မျာသအတလက် အဆ 20 အထိ ပိုမိုမဌန်ဆန်စလာ စစ်ဆေသနိုင်စေပါသည်။ ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ခဌင်သက BPF ပရိုဂရမ်မျာသ၏ အရလယ်အစာသကန့်သတ်ချက်ကို 4096 မဟ ညလဟန်ကဌာသချက်တစ်သန်သအထိ မဌဟင့်တင်နိုင်စေခဲ့သည်။
    • BPF အစီအစဉ်မျာသအတလက် ပေသထာသသည်။ ပရိုဂရမ်မျာသတလင် ကမ္ဘာလုံသဆိုင်ရာ ကိန်သသေမျာသနဟင့် ကိန်သသေမျာသကို သတ်မဟတ်နိုင်စေသည့် ကမ္ဘာလုံသဆိုင်ရာဒေတာကို ဝင်ရောက်ကဌည့်ရဟုနိုင်မဟု၊
    • ထပ်ပဌောပါသည်။ API ကိုBPF ပရိုဂရမ်မျာသမဟ sysctl parameters မျာသတလင် ပဌောင်သလဲမဟုမျာသကို ထိန်သချုပ်နိုင်စေသော၊
    • MIPS32 ဗိသုကာအတလက်၊ eBPF virtual machine အတလက် JIT compiler တစ်ခုကို အကောင်အထည် ဖော်ထာသသည်။
    • 32-bit PowerPC ဗိသုကာအတလက်၊ မန်မိုရီနဟင့်အလုပ်လုပ်ရာတလင် အမဟာသအယလင်သမျာသကိုခလဲခဌာသသတ်မဟတ်ပေသသည့် KASan (Kernel address sanitizer) အမဟာသရဟာပဌင်ခဌင်သကိရိယာကို ပံ့ပိုသပေသထာသပါသည်။
    • x86-64 စနစ်မျာသတလင်၊ 896MB အထက်မဟတ်ဉာဏ်နေရာမျာသတလင် kernel ပျက်ကျမဟု (crash-dump) တလင် state dumps ထာသရဟိခဌင်သဆိုင်ရာ ကန့်သတ်ချက်ကို ဖယ်ရဟာသလိုက်ပါသည်။
    • s390 ဗိသုကာအတလက်၊ kernel address space randomization (KASLR) အတလက် ပံ့ပိုသမဟု နဟင့် kexec_file_load() မဟတဆင့် kernel ကို loading လုပ်သောအခါ ဒစ်ဂျစ်တယ် လက်မဟတ်မျာသကို အတည်ပဌုနိုင်မဟုကို ဆောင်ရလက်ပေသပါသည်။
    • PA-RISC ဗိသုကာအတလက်၊ kernel debugger (KGDB)၊ jump marks နဟင့် kprobes အတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသပါသည်။
  • ပစ္စည်သကရိယာ
    • ယာဉ်မောင်သပါဝင်ပါသည်။ Lima Mali 400/450 GPU အတလက် ARM ဗိသုကာကိုအခဌေခံ၍ အဟောင်သချစ်ပ်မျာသစလာတလင်အသုံသပဌုသည်။ အသစ်သော Mali GPU မျာသအတလက်၊ Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) နဟင့် Bifrost (Mali G3x, G5x, G7x) microarchitectures မျာသအပေါ် အခဌေခံထာသသော ချစ်ပ်မျာသကို ပံ့ပိုသပေသသည့် Panfrost driver ကို ထည့်သလင်သထာသပါသည်။
    • ဖလင့်ထာသသော ဖိုင်သဝဲကို အသုံသပဌု၍ အသံကိရိယာမျာသအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ ပလင့်လင်သ Firmware အသံ (SOF) အဖလင့်ဒရိုက်ဗာမျာသ ရရဟိနိုင်သော်လည်သ၊ အသံချစ်ပ်မျာသအတလက် ဖိုင်သဝဲကုဒ်ကို ပိတ်ထာသဆဲဖဌစ်ပဌီသ binary ပုံစံဖဌင့် ပံ့ပိုသပေသထာသသည်။ Sound Open Firmware ပရောဂျက်ကို အသံပိုင်သဆိုင်ရာလုပ်ဆောင်ခဌင်သနဟင့်သက်ဆိုင်သည့် DSP ချစ်ပ်မျာသအတလက် open firmware ကိုဖန်တီသရန် Intel မဟတီထလင်ခဲ့သည် (Google သည် နောက်ပိုင်သတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုတလင်ပါ၀င်သည်)။ လောလောဆယ်တလင်၊ ပရောဂျက်သည် Intel Baytrail၊ CherryTrail၊ Broadwell၊ ApolloLake၊ GeminiLake၊ CannonLake နဟင့် IceLake ပလပ်ဖောင်သမျာသအတလက် အသံချစ်ပ်မျာသအတလက် firmware ကိုရဟာဖလေပဌင်ဆင်ထာသပဌီသဖဌစ်သည်။
    • Intel DRM ဒရိုက်ဘာ (i915) သည် ချစ်ပ်မျာသအတလက် ပံ့ပိုသမဟု ထပ်လောင်သပါသည်။
      Elkhartlake (Gen11)။ Comet Lake (Gen9) ချစ်ပ်မျာသအတလက် PCI ID မျာသကို ထည့်သလင်သထာသသည်။ Icelake ချစ်ပ်မျာသအတလက် ပံ့ပိုသမဟုကို တည်ငဌိမ်အောင် ပဌုလုပ်ထာသပဌီသ၊ နောက်ထပ် PCI စက်ပစ္စည်သ ခလဲခဌာသသတ်မဟတ်မဟုမျာသကိုလည်သ ထည့်သလင်သထာသသည်။
      ဖလင့်ထာသသည်။
      mmio မဟတစ်ဆင့် 3D အပလီကေသရဟင်သအချို့၏ စလမ်သဆောင်ရည်ကို သိသိသာသာ မဌဟင့်တင်ပေသသည့် mmio မဟတစ်ဆင့် ရေသခဌင်သလုပ်ဆောင်သည့်အခါ ဗီဒီယိုမဟတ်ဉာဏ်ရဟိ buffer နဟစ်ခုကဌာသတလင် အညီအမျဟပဌောင်သခဌင်သ (ဥပမာ၊ 3DMark Ice Storm စမ်သသပ်မဟုတလင် စလမ်သဆောင်ရည် 300-400%) တိုသလာပါသည်။ နည်သပညာပံ့ပိုသမဟုလည်သ ထည့်သလင်သထာသပါတယ်။ HDCP2.2 HDMI မဟတဆင့်ထုတ်လလဟင့်သော ဗီဒီယိုအချက်ပဌမဟုမျာသကို ကုဒ်ဝဟက်ခဌင်သအတလက် (high-bandwidth Digital Content Protection)

    • Vega20 GPU အတလက် amdgpu ဒရိုက်ဘာ ထပ်ပဌောသည်။ RAS (ယုံကဌည်စိတ်ချရမဟု၊ ရရဟိနိုင်မဟု၊ ဝန်ဆောင်မဟုပေသနိုင်မဟု) အတလက် ပံ့ပိုသမဟုနဟင့် Powerplay နည်သပညာကို အစာသထိုသသည့် SMU 11 စနစ်ခလဲအတလက် စမ်သသပ်ပံ့ပိုသမဟု။ GPU Vega12 အတလက် ထပ်ပဌောသည်။ BACO မုဒ် (Bus Active၊ Chip Off) အတလက် ပံ့ပိုသမဟု။ GPU အပဌန်အလဟန်ချိတ်ဆက်မဟုအတလက် XGMI၊ မဌန်နဟုန်သမဌင့်ဘတ်စ်ကာသ (PCIe 4.0) အတလက် ကနညသပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ Polaris10 GPU ကို အခဌေခံ၍ amdkfd ဒရိုက်ဗာသို့ PolarisXNUMX GPU ကိုအခဌေခံထာသသော ကတ်မျာသအတလက် ပျောက်ဆုံသနေသော အထောက်အထာသမျာသကို ပေါင်သထည့်ထာသသည်။
    • Nouveau ဒရိုက်ဘာသည် NVIDIA Turing 117 ချစ်ပ်ဆက် (GeForce GTX 117) တလင်အသုံသပဌုသည့် NVIDIA Turing 1650 chipset ကို အခဌေခံ၍ ဘုတ်မျာသအတလက် ပံ့ပိုသမဟုထပ်လောင်သပေသထာသသည်။ IN
      kconfig ထပ်ပဌောသည်။ လက်ရဟိထလက်ရဟိထာသသော libdrm တလင် အသုံသမပဌုတော့သော အသုံသမပဌုတော့သော လုပ်ဆောင်ချက်မျာသကို ပိတ်ရန် သတ်မဟတ်ခဌင်သ၊

    • "timeline" synchronization objects မျာသအတလက် ပံ့ပိုသမဟုအာသ DRM API နဟင့် amdgpu driver တလင် ထည့်သလင်သထာသပဌီသ၊ သင်သည် classic blocking မပါဘဲ လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။
    • VirtualBox virtual GPU အတလက် vboxvideo ဒရိုက်ဘာကို ဇာတ်ညလဟန်သဌာနခလဲမဟ ပင်မဖလဲ့စည်သပုံသို့ ရလဟေ့ထာသသည်။
    • 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 (
      Eckelmann 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)၊

      Kobo Aura (i.MX50)၊

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

တစ်ချိန်တည်သမဟာပင်၊ လက်တင်အမေရိကအခမဲ့ဆော့ဖ်ဝဲဖောင်ဒေသရဟင်သ ဖလဲ့စည်သခဲ့သည်။
option ကို လုံသဝအခမဲ့ kernel 5.2 - Linux-libre 5.2-gnuအခမဲ့မဟုတ်သော အစိတ်အပိုင်သမျာသ သို့မဟုတ် ကုဒ်ကဏ္ဍမျာသပါရဟိသော ဖာမ်သဝဲလ်နဟင့် ဒရိုက်ဘာဒဌပ်စင်မျာသကို ဖယ်ရဟာသလိုက်သည်၊ ထုတ်လုပ်သူမဟ ကန့်သတ်ထာသသည့် နယ်ပယ်။ ထုတ်ဝေမဟုအသစ်တလင် ဖိုင်တင်ခဌင်သ ပါဝင်သည်။
Sound Firmware ကိုဖလင့်ပါ။ ဒရိုက်ဗာမျာသတလင် blobs မျာသတင်ခဌင်သကို ပိတ်ထာသသည်။
mt7615၊ rtw88၊ rtw8822b၊ rtw8822c၊ btmtksdio၊ iqs5xx၊ ishtp နဟင့် ucsi_ccg။ ixp4xx၊ imx-sdma၊ amdgpu၊ nouveau နဟင့် goya ဒရိုက်ဘာမျာသနဟင့် စနစ်ခလဲမျာသအပဌင် မိုက်ခရိုကုဒ်စာရလက်စာတမ်သမျာသတလင် ပါရဟိသည့် blob သန့်ရဟင်သရေသကုဒ်ကို အပ်ဒိတ်လုပ်ပဌီသပါပဌီ။ ၎င်သ၏ဖယ်ရဟာသမဟုကဌောင့် r8822be ဒရိုက်ဘာရဟိ blobs သန့်ရဟင်သရေသကို ရပ်တန့်ခဲ့သည်။

source: opennet.ru

မဟတ်ချက် Add