Linux 5.18 కెర్నల్ విడుదల

రెండు నెలల అభివృద్ధి తర్వాత, Linus Torvalds Linux కెర్నల్ 5.18 విడుదలను అందించింది. అత్యంత ముఖ్యమైన మార్పులలో: వాడుకలో లేని కార్యాచరణ యొక్క ప్రధాన క్లీనప్ నిర్వహించబడింది, Reiserfs FS వాడుకలో లేదని ప్రకటించబడింది, వినియోగదారు ప్రాసెస్ ట్రేసింగ్ ఈవెంట్‌లు అమలు చేయబడ్డాయి, Intel IBT దోపిడీలను నిరోధించే యంత్రాంగానికి మద్దతు జోడించబడింది, బఫర్ ఓవర్‌ఫ్లో డిటెక్షన్ మోడ్ ప్రారంభించబడినప్పుడు memcpy() ఫంక్షన్‌ని ఉపయోగించి, fprobe ఫంక్షన్ కాల్‌లను ట్రాక్ చేయడానికి ఒక మెకానిజం జోడించబడింది, AMD జెన్ 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 పనితీరును మెరుగుపరుస్తుంది. మౌంట్ పాయింట్‌లకే పరిమితం కాకుండా మొత్తం నిల్వ కోసం రిఫ్లింక్ (నిజానికి కాపీ చేయకుండా ఇప్పటికే ఉన్న డేటాకు లింక్‌ని సృష్టించడం ద్వారా ఫైల్ మెటాడేటాను క్లోనింగ్ చేయడం) డీప్లికేట్ చేయగల సామర్థ్యం జోడించబడింది.

    • డైరెక్ట్ I/O మోడ్‌లో, fscrypt ఇన్‌లైన్ ఎన్‌క్రిప్షన్‌ను ఉపయోగించినప్పుడు ఎన్‌క్రిప్ట్ చేయబడిన ఫైల్‌లను యాక్సెస్ చేయడం సాధ్యమవుతుంది, దీనిలో గుప్తీకరణ మరియు డిక్రిప్షన్ కార్యకలాపాలు కెర్నల్ కాకుండా డ్రైవ్ కంట్రోలర్ ద్వారా నిర్వహించబడతాయి. సాధారణ కెర్నల్ ఎన్‌క్రిప్షన్‌తో, డైరెక్ట్ I/O ఉపయోగించి ఎన్‌క్రిప్టెడ్ ఫైల్‌లకు యాక్సెస్ ఇప్పటికీ అసాధ్యం, ఎందుకంటే కెర్నల్‌లోని బఫరింగ్ మెకానిజంను దాటవేసి ఫైల్‌లు యాక్సెస్ చేయబడతాయి.
    • NFS సర్వర్ డిఫాల్ట్‌గా NFSv3 ప్రోటోకాల్‌కు మద్దతును కలిగి ఉంది, దీనికి ఇప్పుడు ప్రత్యేక ఎనేబుల్‌మెంట్ అవసరం లేదు మరియు సాధారణంగా NFS ప్రారంభించబడినప్పుడు అందుబాటులో ఉంటుంది. NFSv3 అనేది NFS యొక్క ప్రధాన మరియు ఎల్లప్పుడూ మద్దతునిచ్చే సంస్కరణగా పరిగణించబడుతుంది మరియు భవిష్యత్తులో NFSv2కి మద్దతు నిలిపివేయబడవచ్చు. డైరెక్టరీ కంటెంట్‌లను చదివే సామర్థ్యం గణనీయంగా మెరుగుపడింది.
    • ReiserFS ఫైల్ సిస్టమ్ నిలిపివేయబడింది మరియు 2025లో తీసివేయబడుతుందని భావిస్తున్నారు. ReiserFSని తిరస్కరించడం వలన మౌంటు, ఐయోమాప్ మరియు టోమ్‌ల కోసం కొత్త APIకి మద్దతుకు సంబంధించిన ఫైల్ సిస్టమ్-వ్యాప్త మార్పులను నిర్వహించడానికి అవసరమైన ప్రయత్నాన్ని తగ్గిస్తుంది.
    • F2FS ఫైల్ సిస్టమ్ కోసం, మౌంటెడ్ ఫైల్ సిస్టమ్స్ యొక్క వినియోగదారు IDలను మ్యాప్ చేయగల సామర్థ్యం అమలు చేయబడింది, ఇది ప్రస్తుత సిస్టమ్‌లోని మరొక వినియోగదారుతో మౌంట్ చేయబడిన విదేశీ విభజనపై నిర్దిష్ట వినియోగదారు యొక్క ఫైల్‌లను పోల్చడానికి ఉపయోగించబడుతుంది.
    • డివైస్-మ్యాపర్ హ్యాండ్లర్‌లలో గణాంకాలను గణించే కోడ్ పునర్నిర్మించబడింది, ఇది dm-crypt వంటి హ్యాండ్లర్‌లలో అకౌంటింగ్ యొక్క ఖచ్చితత్వాన్ని గణనీయంగా మెరుగుపరిచింది.
    • NVMe పరికరాలు ఇప్పుడు సమగ్రత తనిఖీ కోసం 64-బిట్ చెక్‌సమ్‌లకు మద్దతు ఇస్తున్నాయి.
    • exfat ఫైల్ సిస్టమ్ కోసం, కొత్త మౌంట్ ఎంపిక "keep_last_dots" ప్రతిపాదించబడింది, ఇది ఫైల్ పేరు చివరిలో చుక్కలను క్లియర్ చేయడాన్ని నిలిపివేస్తుంది (Windowsలో, ఫైల్ పేరు చివరిలో ఉన్న చుక్కలు డిఫాల్ట్‌గా తీసివేయబడతాయి).
    • EXT4 fast_commit మోడ్ పనితీరును మెరుగుపరుస్తుంది మరియు స్కేలబిలిటీని పెంచుతుంది. "mb_optimize_scan" మౌంట్ ఎంపిక, ఇది పెద్ద ఫైల్ సిస్టమ్ ఫ్రాగ్మెంటేషన్ యొక్క పరిస్థితులలో పనితీరును పెంచడానికి అనుమతిస్తుంది, ఇది ఎక్స్‌టెన్స్‌లతో కూడిన ఫైల్‌లతో పని చేయడానికి స్వీకరించబడింది.
    • బ్లాక్ పరికరాలకు మద్దతు ఇచ్చే సబ్‌సిస్టమ్‌లో రైట్ స్ట్రీమ్‌లకు మద్దతు నిలిపివేయబడింది. ఈ ఫీచర్ SSDల కోసం ప్రతిపాదించబడింది, కానీ విస్తృతంగా లేదు మరియు ప్రస్తుతం ఈ మోడ్‌కు మద్దతు ఇచ్చే పరికరాలు ఏవీ ఉపయోగంలో లేవు మరియు భవిష్యత్తులో అవి కనిపించే అవకాశం లేదు.
  • మెమరీ మరియు సిస్టమ్ సేవలు
    • ప్యాచ్‌ల సమితి యొక్క ఏకీకరణ ప్రారంభమైంది, హెడర్ ఫైల్‌ల సోపానక్రమాన్ని పునర్నిర్మించడం మరియు క్రాస్-డిపెండెన్సీల సంఖ్యను తగ్గించడం ద్వారా కెర్నల్‌ను పునర్నిర్మించే సమయాన్ని గణనీయంగా తగ్గించడానికి అనుమతిస్తుంది. కెర్నల్ 5.18 టాస్క్ షెడ్యూలర్ హెడర్ ఫైల్స్ (కెర్నల్/షెడ్) నిర్మాణాన్ని ఆప్టిమైజ్ చేసే ప్యాచ్‌లను కలిగి ఉంటుంది. మునుపటి విడుదలతో పోలిస్తే, కెర్నల్/షెడ్/కోడ్‌ను అసెంబ్లింగ్ చేసేటప్పుడు CPU సమయ వినియోగం 61% తగ్గింది మరియు వాస్తవ సమయం 3.9% తగ్గింది (2.95 నుండి 2.84 సెకను వరకు).
    • 11లో ప్రచురించబడిన C2011 ప్రమాణాన్ని ఉపయోగించడానికి కెర్నల్ కోడ్ అనుమతించబడింది. గతంలో, కెర్నల్‌కు జోడించబడిన కోడ్ 89లో ఏర్పడిన ANSI C (C1989) స్పెసిఫికేషన్‌కు అనుగుణంగా ఉండాలి. 5.18 కెర్నల్ బిల్డ్ స్క్రిప్ట్‌లలో, '—std=gnu89' ఎంపిక '—std=gnu11 -Wno-shift-negative-value'తో భర్తీ చేయబడింది. C17 ప్రమాణాన్ని ఉపయోగించే అవకాశం పరిగణించబడింది, అయితే ఈ సందర్భంలో GCC యొక్క కనీస మద్దతు ఉన్న సంస్కరణను పెంచడం అవసరం, అయితే C11 మద్దతును చేర్చడం GCC వెర్షన్ (5.1) కోసం ప్రస్తుత అవసరాలకు సరిపోతుంది.
    • జెన్ మైక్రోఆర్కిటెక్చర్‌తో AMD ప్రాసెసర్‌లపై టాస్క్ షెడ్యూలింగ్ పనితీరు మెరుగుపరచబడింది, ఇది స్థానిక మెమరీ ఛానెల్‌లతో ప్రతి నోడ్‌కు బహుళ చివరి స్థాయి కాష్ (LLC)ని అందిస్తుంది. కొత్త వెర్షన్ 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 ఆర్కిటెక్చర్‌కు మద్దతు నిలిపివేయబడింది. ప్రధాన Linux కెర్నల్‌లో నిర్వహణ లేకపోవడం మరియు NDS32 మద్దతు కోసం డిమాండ్ లేకపోవడం వల్ల కోడ్ తీసివేయబడింది (మిగిలిన వినియోగదారులు హార్డ్‌వేర్ తయారీదారుల నుండి ప్రత్యేకమైన కెర్నల్ బిల్డ్‌లను ఉపయోగిస్తారు).
    • డిఫాల్ట్‌గా, a.out ఎక్జిక్యూటబుల్ ఫైల్ ఫార్మాట్‌కు మద్దతుతో కెర్నల్‌ను రూపొందించడం ఆల్ఫా మరియు m68k ఆర్కిటెక్చర్‌ల కోసం నిలిపివేయబడింది, ఈ ఫార్మాట్‌ని ఉపయోగించడం కొనసాగుతుంది. లెగసీ a.out ఆకృతికి మద్దతు త్వరలో కెర్నల్ నుండి పూర్తిగా తీసివేయబడే అవకాశం ఉంది. a.out ఆకృతిని తొలగించే ప్రణాళికలు 2019 నుండి చర్చించబడ్డాయి.
    • PA-RISC ఆర్కిటెక్చర్ vDSO (వర్చువల్ డైనమిక్ షేర్డ్ ఆబ్జెక్ట్స్) మెకానిజం కోసం కనీస మద్దతును అందిస్తుంది, ఇది సందర్భ మార్పిడి లేకుండా వినియోగదారు స్థలంలో అందుబాటులో ఉండే పరిమిత సిస్టమ్ కాల్‌లను అందిస్తుంది. vDSO మద్దతు నాన్-ఎక్జిక్యూటబుల్ స్టాక్‌తో అమలు చేయగల సామర్థ్యాన్ని అమలు చేయడం సాధ్యం చేసింది.
    • Intel HFI (హార్డ్‌వేర్ ఫీడ్‌బ్యాక్ ఇంటర్‌ఫేస్) మెకానిజం కోసం మద్దతు జోడించబడింది, ఇది ప్రతి CPU యొక్క ప్రస్తుత పనితీరు మరియు శక్తి సామర్థ్యం గురించి సమాచారాన్ని కెర్నల్‌కు ప్రసారం చేయడానికి హార్డ్‌వేర్‌ను అనుమతిస్తుంది.
    • Intel SDSi (సాఫ్ట్‌వేర్-డిఫైన్డ్ సిలికాన్) మెకానిజం కోసం డ్రైవర్ జోడించబడింది, ఇది ప్రాసెసర్‌లో అదనపు ఫీచర్లను చేర్చడాన్ని నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది (ఉదాహరణకు, ప్రత్యేక సూచనలు మరియు అదనపు కాష్ మెమరీ). అధునాతన ఫంక్షన్‌లు లాక్ చేయబడి, చిప్‌లను తక్కువ ధరకు సరఫరా చేయవచ్చు, ఆపై వాటిని "కొనుగోలు" చేయవచ్చు మరియు చిప్ యొక్క హార్డ్‌వేర్ రీప్లేస్‌మెంట్ లేకుండా అదనపు సామర్థ్యాలు యాక్టివేట్ చేయబడతాయి.
    • AMD HSMP (హోస్ట్ సిస్టమ్ మేనేజ్‌మెంట్ పోర్ట్) ఇంటర్‌ఫేస్‌కు మద్దతు ఇవ్వడానికి amd_hsmp డ్రైవర్ జోడించబడింది, ఇది Fam19h జనరేషన్‌తో ప్రారంభమయ్యే AMD EPYC సర్వర్ ప్రాసెసర్‌లలో కనిపించే ప్రత్యేక రిజిస్టర్‌ల సెట్ ద్వారా ప్రాసెసర్ మేనేజ్‌మెంట్ ఫంక్షన్‌లకు యాక్సెస్‌ను అందిస్తుంది. ఉదాహరణకు, HSMP ద్వారా మీరు విద్యుత్ వినియోగం మరియు ఉష్ణోగ్రతపై డేటాను పొందవచ్చు, ఫ్రీక్వెన్సీ పరిమితులను సెట్ చేయవచ్చు, వివిధ పనితీరు మెరుగుదల మోడ్‌లను సక్రియం చేయవచ్చు మరియు మెమరీ పారామితులను నిర్వహించవచ్చు.
    • io_uring అసమకాలిక I/O ఇంటర్‌ఫేస్ రింగ్ బఫర్‌లో ఫైల్ డిస్క్రిప్టర్‌ల సెట్‌ను నమోదు చేయడానికి IORING_SETUP_SUBMIT_ALL ఎంపికను అమలు చేస్తుంది మరియు ఒక రింగ్ బఫర్ నుండి మరొక రింగ్ బఫర్‌కి సిగ్నల్‌ను పంపడానికి IORING_OP_MSG_RING ఆపరేషన్.
    • మెమరీ యాక్సెస్ యొక్క ఫ్రీక్వెన్సీని పరిగణనలోకి తీసుకుని మెమరీని విడుదల చేయడానికి అనుమతించే DAMOS (డేటా యాక్సెస్ మానిటరింగ్-బేస్డ్ ఆపరేషన్ స్కీమ్స్) మెకానిజం, యూజర్ స్పేస్ నుండి మెమరీ కార్యకలాపాలను పర్యవేక్షించే సామర్థ్యాలను విస్తరించింది.
    • పేజీ ఫోలియోల భావన అమలుతో మూడవ శ్రేణి ప్యాచ్‌లు ఏకీకృతం చేయబడ్డాయి, ఇవి సమ్మేళనం పేజీలను పోలి ఉంటాయి, కానీ మెరుగైన అర్థశాస్త్రం మరియు పని యొక్క స్పష్టమైన సంస్థను కలిగి ఉంటాయి. కొన్ని కెర్నల్ సబ్‌సిస్టమ్‌లలో మెమరీ నిర్వహణను వేగవంతం చేయడానికి టోమ్‌లను ఉపయోగించడం మిమ్మల్ని అనుమతిస్తుంది. ప్రతిపాదిత ప్యాచ్‌లలో, అంతర్గత మెమరీ నిర్వహణ విధులు get_user_pages() ఫంక్షన్ యొక్క వైవిధ్యాలతో సహా ఫోలియోలలోకి అనువదించబడ్డాయి. రీడ్-ఎహెడ్ కోడ్‌లో పెద్ద వాల్యూమ్‌లను రూపొందించడానికి మద్దతు అందించబడింది.
    • అసెంబ్లీ సిస్టమ్ ఇప్పుడు USERCFLAGS మరియు USERLDFLAGS ఎన్విరాన్మెంట్ వేరియబుల్స్‌కు మద్దతిస్తుంది, దానితో మీరు కంపైలర్ మరియు లింకర్‌కు అదనపు ఫ్లాగ్‌లను పంపవచ్చు.
    • eBPF సబ్‌సిస్టమ్‌లో, BPF సూడోకోడ్‌లో టైప్ చెకింగ్ సమాచారాన్ని అందించే BTF (BPF టైప్ ఫార్మాట్) మెకానిజం, యూజర్ స్పేస్‌లోని మెమరీ ప్రాంతాలను సూచించే వేరియబుల్స్‌కు ఉల్లేఖనాలను జోడించే సామర్థ్యాన్ని అందిస్తుంది. ఉల్లేఖనాలు BPF కోడ్ ధృవీకరణ సిస్టమ్ మెమొరీ యాక్సెస్‌లను మెరుగ్గా గుర్తించి మరియు ధృవీకరించడంలో సహాయపడతాయి.
    • లోడ్ చేయబడిన BPF ప్రోగ్రామ్‌లను నిల్వ చేయడానికి కొత్త మెమరీ కేటాయింపు హ్యాండ్లర్ ప్రతిపాదించబడింది, ఇది పెద్ద సంఖ్యలో BPF ప్రోగ్రామ్‌లు లోడ్ చేయబడిన సందర్భాల్లో మెమరీని మరింత సమర్థవంతంగా ఉపయోగించుకోవడానికి అనుమతిస్తుంది.
    • MADV_DONTNEED_LOCKED ఫ్లాగ్ madvise() సిస్టమ్ కాల్‌కు జోడించబడింది, ఇది ప్రాసెస్ మెమరీ నిర్వహణను ఆప్టిమైజ్ చేయడానికి సాధనాలను అందిస్తుంది, ఇది ఇప్పటికే ఉన్న MADV_DONTNEED ఫ్లాగ్‌ను పూర్తి చేస్తుంది, దీని ద్వారా మెమరీ బ్లాక్ యొక్క రాబోయే విడుదల గురించి కెర్నల్‌కు ముందుగానే తెలియజేయవచ్చు, అనగా. ఈ బ్లాక్ ఇకపై అవసరం లేదు మరియు కెర్నల్ ద్వారా ఉపయోగించవచ్చు. MADV_DONTNEED వలె కాకుండా, RAMలో పిన్ చేయబడిన మెమరీ పేజీలకు MADV_DONTNEED_LOCKED ఫ్లాగ్‌ని ఉపయోగించడం అనుమతించబడుతుంది, వీటిని madvise అని పిలిచినప్పుడు, వాటి పిన్ చేయబడిన స్థితిని మార్చకుండా తొలగించబడుతుంది మరియు తదుపరి యాక్సెస్‌లో “పేజీ బ్లాక్ మరియు జనరేషన్ సందర్భంలో. తప్పు,” బైండింగ్ భద్రపరచబడి తిరిగి ఇవ్వబడతాయి. అదనంగా, HugeTLBలో పెద్ద మెమరీ పేజీలతో MADV_DONTNEED ఫ్లాగ్‌ని ఉపయోగించడానికి అనుమతించడానికి ఒక మార్పు జోడించబడింది.
  • వర్చువలైజేషన్ మరియు సెక్యూరిటీ
    • x86 ఆర్కిటెక్చర్ కోసం, Intel IBT (పరోక్ష బ్రాంచ్ ట్రాకింగ్) కమాండ్ ఫ్లో ప్రొటెక్షన్ మెకానిజం కోసం మద్దతు జోడించబడింది, ఇది రిటర్న్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ టెక్నిక్‌లను (ROP, రిటర్న్-ఓరియంటెడ్ ప్రోగ్రామింగ్) ఉపయోగించి ఎక్స్‌ప్లోయిట్ కన్‌స్ట్రక్షన్ మెకానిజంను నిరోధిస్తుంది. కంట్రోల్ రిటర్న్ ఇన్‌స్ట్రక్షన్‌తో ముగిసే యంత్ర సూచనల ముక్కల మెమరీలో ఇప్పటికే ఉన్న కాల్‌ల గొలుసు రూపంలో ఏర్పడుతుంది (నియమం ప్రకారం, ఇవి ఫంక్షన్‌ల ముగింపులు). అమలు చేయబడిన రక్షణ పద్ధతి యొక్క సారాంశం ఏమిటంటే, ఫంక్షన్ ప్రారంభంలో ప్రత్యేక ENDBR సూచనను జోడించడం ద్వారా ఒక ఫంక్షన్ యొక్క శరీరానికి పరోక్ష పరివర్తనలను నిరోధించడం మరియు ఈ సూచనకు (పరోక్షంగా) పరివర్తన విషయంలో మాత్రమే పరోక్ష పరివర్తనను అమలు చేయడానికి అనుమతించడం. JMP ద్వారా కాల్ చేయండి మరియు కాల్ ఎల్లప్పుడూ ENDBR సూచనపై తప్పనిసరిగా వస్తుంది, ఇది ప్రారంభ ఫంక్షన్‌లలో ఉంచబడుతుంది).
    • CONFIG_FORTIFY_SOURCE మోడ్ ప్రారంభించబడినప్పుడు కంపైల్ సమయంలో ప్రదర్శించబడే memcpy(), memmove() మరియు memset() ఫంక్షన్‌లలో బఫర్ సరిహద్దులను మరింత కఠినంగా తనిఖీ చేయడం ప్రారంభించబడింది. పరిమాణాన్ని గుర్తించిన నిర్మాణాల మూలకాలు సరిహద్దులు దాటి వెళతాయో లేదో తనిఖీ చేయడానికి జోడించిన మార్పు దిమ్మలది. అమలు చేయబడిన ఫీచర్ కనీసం గత మూడు సంవత్సరాలలో గుర్తించబడిన అన్ని memcpy()-సంబంధిత కెర్నల్ బఫర్ ఓవర్‌ఫ్లోలను నిరోధించడాన్ని అనుమతిస్తుంది అని గుర్తించబడింది.
    • RDRAND నకిలీ-రాండమ్ నంబర్ జనరేటర్ యొక్క నవీకరించబడిన అమలు కోసం కోడ్ యొక్క రెండవ భాగం జోడించబడింది, ఇది /dev/random మరియు /dev/urandom పరికరాల ఆపరేషన్‌కు బాధ్యత వహిస్తుంది. /dev/random మరియు /dev/urandom యొక్క ఆపరేషన్‌ను ఏకీకృతం చేయడం, వర్చువల్ మిషన్‌లను ప్రారంభించేటప్పుడు యాదృచ్ఛిక సంఖ్యల స్ట్రీమ్‌లో నకిలీలు కనిపించకుండా రక్షణను జోడించడం మరియు SHA2కి బదులుగా BLAKE1s హాష్ ఫంక్షన్‌ని ఉపయోగించడం కోసం కొత్త అమలు గుర్తించదగినది. ఎంట్రోపీ మిక్సింగ్ కార్యకలాపాలు. సమస్యాత్మక SHA1 అల్గారిథమ్‌ను తొలగించడం మరియు RNG ఇనిషియలైజేషన్ వెక్టార్ ఓవర్‌రైటింగ్‌ను తొలగించడం ద్వారా ఈ మార్పు నకిలీ-రాండమ్ నంబర్ జనరేటర్ యొక్క భద్రతను మెరుగుపరిచింది. BLAKE2s అల్గోరిథం పనితీరులో SHA1 కంటే మెరుగైనది కాబట్టి, దాని ఉపయోగం పనితీరుపై కూడా సానుకూల ప్రభావం చూపింది.
    • ARM64 ఆర్కిటెక్చర్ కోసం, కొత్త పాయింటర్ ప్రమాణీకరణ అల్గోరిథం కోసం మద్దతు జోడించబడింది - “QARMA3”, ఇది సరైన స్థాయి భద్రతను కొనసాగిస్తూ QARMA అల్గారిథమ్ కంటే వేగవంతమైనది. పాయింటర్‌లోని ఉపయోగించని ఎగువ బిట్‌లలో నిల్వ చేయబడిన డిజిటల్ సంతకాలను ఉపయోగించి రిటర్న్ చిరునామాలను ధృవీకరించడానికి ప్రత్యేకమైన ARM64 సూచనలను ఉపయోగించడానికి సాంకేతికత మిమ్మల్ని అనుమతిస్తుంది.
    • ARM64 ఆర్కిటెక్చర్ కోసం, స్టాక్‌పై బఫర్ ఓవర్‌ఫ్లో అయినప్పుడు ఫంక్షన్ నుండి రిటర్న్ అడ్రస్‌ను ఓవర్‌రైట్ చేయకుండా రక్షణ మోడ్ యొక్క GCC 12లో చేర్చడంతో అసెంబ్లీకి మద్దతు అమలు చేయబడింది. ఫంక్షన్‌కు నియంత్రణను బదిలీ చేసిన తర్వాత మరియు ఫంక్షన్ నుండి నిష్క్రమించే ముందు ఈ చిరునామాను తిరిగి పొందిన తర్వాత రిటర్న్ చిరునామాను ప్రత్యేక "షాడో" స్టాక్‌లో సేవ్ చేయడం రక్షణ యొక్క సారాంశం.
    • కొత్త కీరింగ్ జోడించబడింది - షిమ్ బూట్‌లోడర్‌లో సపోర్ట్ చేసే సిస్టమ్ ఓనర్ కీలను (MOK, మెషిన్ ఓనర్ కీస్) కలిగి ఉన్న “మెషిన్”. పోస్ట్-బూట్ దశలో (ఉదాహరణకు, కెర్నల్ మాడ్యూల్స్) లోడ్ చేయబడిన కెర్నల్ భాగాలను డిజిటల్‌గా సైన్ చేయడానికి ఈ కీలను ఉపయోగించవచ్చు.
    • TPMల కోసం అసమాన ప్రైవేట్ కీలకు మద్దతు తీసివేయబడింది, ఇది TPM యొక్క లెగసీ వెర్షన్‌లో అందించబడింది, భద్రతా సమస్యలు తెలిసినవి మరియు ఆచరణలో విస్తృతంగా ఆమోదించబడలేదు.
    • పూర్ణాంకాల ఓవర్‌ఫ్లోల నుండి పరిమాణం_t రకంతో డేటా రక్షణ జోడించబడింది. కోడ్‌లో size_mul(), size_add() మరియు size_sub() హ్యాండ్లర్‌లు ఉన్నాయి, ఇవి మీరు size_t రకంతో పరిమాణాలను సురక్షితంగా గుణించడానికి, జోడించడానికి మరియు తీసివేయడానికి అనుమతిస్తాయి.
    • కెర్నల్‌ను నిర్మించేటప్పుడు, “-వార్రే-బౌండ్స్” మరియు “-Wzero-length-bounds” ఫ్లాగ్‌లు ప్రారంభించబడతాయి, ఇవి సూచిక శ్రేణి సరిహద్దును దాటి వెళ్లినప్పుడు మరియు సున్నా-పొడవు శ్రేణులను ఉపయోగించినప్పుడు హెచ్చరికలను ప్రదర్శిస్తాయి.
    • virtio-crypto పరికరం RSA అల్గారిథమ్‌ని ఉపయోగించి గుప్తీకరణకు మద్దతును జోడించింది.
  • నెట్‌వర్క్ సబ్‌సిస్టమ్
    • నెట్‌వర్క్ బ్రిడ్జ్‌ల అమలులో, పోర్ట్ బైండింగ్ మోడ్ (లాక్ మోడ్) కోసం మద్దతు జోడించబడింది, దీనిలో వినియోగదారు అధీకృత MAC చిరునామా నుండి మాత్రమే పోర్ట్ ద్వారా ట్రాఫిక్‌ను పంపగలరు. STP (స్పానింగ్ ట్రీ ప్రోటోకాల్) ప్రోటోకాల్ స్థితిని అంచనా వేయడానికి అనేక నిర్మాణాలను ఉపయోగించే సామర్థ్యం కూడా జోడించబడింది. గతంలో, VLANలు నేరుగా STP (1:1)కి మాత్రమే మ్యాప్ చేయబడతాయి, ప్రతి VLAN స్వతంత్రంగా నిర్వహించబడుతుంది. కొత్త వెర్షన్ mst_enable పరామితిని జోడిస్తుంది, ప్రారంభించబడినప్పుడు, VLANల స్థితి MST (మల్టిపుల్ స్పేనింగ్ ట్రీస్) మాడ్యూల్ ద్వారా నియంత్రించబడుతుంది మరియు VLANల బైండింగ్ M:N మోడల్‌కు అనుగుణంగా ఉంటుంది.
    • ప్యాకెట్లను (కారణ సంకేతాలు) వదలడానికి గల కారణాలను ట్రాక్ చేయడానికి నెట్‌వర్క్ స్టాక్‌లో సాధనాలను ఏకీకృతం చేయడంపై పని కొనసాగింది. ప్యాకెట్‌తో అనుబంధించబడిన మెమరీ ఖాళీ చేయబడినప్పుడు మరియు హెడర్ ఎర్రర్‌ల కారణంగా ప్యాకెట్ విస్మరించబడినప్పుడు కారణం కోడ్ పంపబడుతుంది, rp_filter స్పూఫింగ్ గుర్తింపు, చెల్లని చెక్‌సమ్, మెమరీలో లేదు, IPSec XFRM నియమాలు ప్రేరేపించబడ్డాయి, చెల్లని సీక్వెన్స్ నంబర్ TCP మొదలైనవి.
    • BPF_PROG_RUN మోడ్‌లో వినియోగదారు స్థలం నుండి ప్రారంభించబడిన BPF ప్రోగ్రామ్‌ల నుండి నెట్‌వర్క్ ప్యాకెట్‌లను బదిలీ చేయడం సాధ్యమవుతుంది, దీనిలో BPF ప్రోగ్రామ్‌లు కెర్నల్‌లో అమలు చేయబడతాయి, అయితే ఫలితాన్ని వినియోగదారు స్థలానికి తిరిగి ఇవ్వండి. ప్యాకెట్లు XDP (eXpress Data Path) ఉపవ్యవస్థను ఉపయోగించి ప్రసారం చేయబడతాయి. లైవ్ ప్యాకెట్ ప్రాసెసింగ్ మోడ్‌కు మద్దతు ఉంది, దీనిలో XDP ప్రాసెసర్ నెట్‌వర్క్ ప్యాకెట్‌లను నెట్‌వర్క్ స్టాక్‌కు లేదా ఇతర పరికరాలకు మళ్లించగలదు. నెట్‌వర్క్ స్టాక్‌లో బాహ్య ట్రాఫిక్ లేదా ప్రత్యామ్నాయ నెట్‌వర్క్ ఫ్రేమ్‌ల సాఫ్ట్‌వేర్ జనరేటర్‌లను సృష్టించడం కూడా సాధ్యమే.
    • నెట్‌వర్క్ సిగ్రూప్‌లకు జోడించబడిన BPF ప్రోగ్రామ్‌ల కోసం, సిస్టమ్ కాల్‌ల రిటర్న్ విలువను స్పష్టంగా సెట్ చేయడానికి సహాయక విధులు ప్రతిపాదించబడ్డాయి, ఇది సిస్టమ్ కాల్‌ని నిరోధించడానికి గల కారణాల గురించి మరింత పూర్తి సమాచారాన్ని తెలియజేయడం సాధ్యం చేస్తుంది.
    • XDP (eXpress Data Path) సబ్‌సిస్టమ్ బహుళ బఫర్‌లలో ఉంచబడిన ఫ్రాగ్మెంటెడ్ ప్యాకెట్‌లకు మద్దతును జోడించింది, ఇది XDPలో జంబో ఫ్రేమ్‌లను ప్రాసెస్ చేయడానికి మరియు XDP_REDIRECT కోసం TSO/GRO (TCP సెగ్మెంటేషన్ ఆఫ్‌లోడ్/జెనరిక్ రిసీవ్ ఆఫ్‌లోడ్)ని ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది.
    • నెట్‌వర్క్ నేమ్‌స్పేస్‌లను తొలగించే ప్రక్రియ గణనీయంగా వేగవంతం చేయబడింది, ఇది పెద్ద ట్రాఫిక్‌తో కూడిన కొన్ని పెద్ద సిస్టమ్‌లలో డిమాండ్‌లో ఉంది.
  • పరికరాలు
    • amdgpu డ్రైవర్ డిఫాల్ట్‌గా FreeSync అడాప్టివ్ సింక్రొనైజేషన్ టెక్నాలజీని కలిగి ఉంటుంది, ఇది స్క్రీన్‌పై సమాచారం యొక్క రిఫ్రెష్ రేట్‌ను సర్దుబాటు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, గేమ్‌లు ఆడుతున్నప్పుడు మరియు వీడియోలను చూస్తున్నప్పుడు మృదువైన మరియు కన్నీటి-రహిత చిత్రాలను నిర్ధారిస్తుంది. Aldebaran GPU మద్దతు స్థిరంగా ప్రకటించబడింది.
    • i915 డ్రైవర్ Intel Alderlake N చిప్స్ మరియు Intel DG2-G12 డిస్క్రీట్ గ్రాఫిక్స్ కార్డ్‌లకు (ఆర్క్ ఆల్కెమిస్ట్) మద్దతునిస్తుంది.
    • nouveau డ్రైవర్ DP/eDP ఇంటర్‌ఫేస్‌ల కోసం అధిక బిట్‌రేట్‌లకు మద్దతునిస్తుంది మరియు lttprs (లింక్-ట్రైనింగ్ ట్యూనబుల్ PHY రిపీటర్స్) కేబుల్ ఎక్స్‌టెండర్‌లకు మద్దతునిస్తుంది.
    • డ్రైవర్‌లలోని drm (డైరెక్ట్ రెండరింగ్ మేనేజర్) సబ్‌సిస్టమ్‌లో ఆర్మడ, ఎక్సినోస్, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen మరియు vc4 పారామీటర్ సపోర్ట్ nomodeset జోడించబడింది, ఇది కెర్నల్ స్థాయిలో వీడియో మోడ్‌లను మార్చడాన్ని మరియు హార్డ్‌వేర్ రెండరింగ్ యాక్సిలరేషన్ సాధనాల వినియోగాన్ని నిలిపివేయడానికి మిమ్మల్ని అనుమతిస్తుంది, సిస్టమ్ ఫ్రేమ్‌బఫర్‌కు సంబంధించిన కార్యాచరణను మాత్రమే వదిలివేస్తుంది.
    • ARM SoС Qualcomm స్నాప్‌డ్రాగన్ 625/632 (LG Nexus 5X మరియు Fairphone FP3 స్మార్ట్‌ఫోన్‌లలో ఉపయోగించబడింది), Samsung Exynos 850, Samsung Exynos 7885 (Samsung Galaxy A8లో ఉపయోగించబడింది), Airoha (Mediatek/EcoNet7523stre6582PM5008 PM3) EN966కి మద్దతు జోడించబడింది. టాబ్లెట్ 2G), మైక్రోచిప్ Lan2, Renesas RZ/G3LC, RZ/V62L, టెస్లా FSD, TI KXNUMX/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 emsyBS, G) నుండి ARM పరికరాలు మరియు బోర్డ్‌లకు మద్దతు జోడించబడింది . / ఆర్మడ (Ctera C5008 V3 మరియు V20 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (ప్రోటోనిక్ PRT96MM, emCON-MX95M మినీ, టోరాడెక్స్ వెర్డిన్, గేట్‌వర్క్స్ GW3).
    • సౌండ్ సిస్టమ్‌లు మరియు కోడెక్‌లకు మద్దతు జోడించబడింది AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, RSC7280 Reasstrument ఎం. Intel AVS DSP చిప్ కోసం సౌండ్ డ్రైవర్ యొక్క ప్రారంభ అమలు జోడించబడింది. Intel ADL మరియు Tegra2 కోసం డ్రైవర్ మద్దతు నవీకరించబడింది మరియు Dell, HP, Lenovo, ASUS, Samsung మరియు Clevo పరికరాలలో ఆడియో మద్దతును మెరుగుపరచడానికి మార్పులు చేసింది.

    అదే సమయంలో, లాటిన్ అమెరికన్ ఫ్రీ సాఫ్ట్‌వేర్ ఫౌండేషన్ పూర్తిగా ఉచిత కెర్నల్ 5.18 - Linux-libre 5.18-gnu యొక్క సంస్కరణను రూపొందించింది, ఫర్మ్‌వేర్ యొక్క మూలకాలు మరియు ఫ్రీ-కాని భాగాలు లేదా కోడ్ విభాగాలను కలిగి ఉన్న డ్రైవర్‌ల నుండి క్లియర్ చేయబడింది, దీని పరిధి పరిమితం చేయబడింది. తయారీదారు ద్వారా. కొత్త విడుదల MIPI DBI ప్యానెల్‌లు, VPU ఆంఫియాన్, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) మరియు Realtek 8852a/8852c, Intel AVS మరియు టెక్సాస్ ఇన్‌స్ట్రుమెంట్స్ 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

ఒక వ్యాఖ్యను జోడించండి