ኒክ ዴሳኒየር (
በቅርቡ በተከፈተው የሊኑስ ቶርቫልድስ የክፍት ምንጭ ስብሰባ እና የተካተተ ውይይት ላይ እናስታውስ።
- የኩባንያው ገንቢዎች "በበርሜል ውስጥ ያለ አሳ"
ተዘጋጅቷል ደህንነትን ለመጨመር በይነገጽ እና የከርነል አወቃቀሮች ላይ የአብስትራክት ንብርብሮችን በመጠቀም ለሊኑክስ ከርነል በዝገት ቋንቋ ሊጫኑ የሚችሉ ሞጁሎችን ለመፃፍ የሚያስችል መሳሪያ። መገልገያውን በመጠቀም አሁን ባሉት የከርነል ራስጌ ፋይሎች ላይ በመመስረት ንብርብሮች በራስ-ሰር ይፈጠራሉ።ማሰር . ክላንግ ንብርብሮችን ለመገንባት ጥቅም ላይ ይውላል. ከመጠላለፍ በተጨማሪ, የተገጣጠሙ ሞጁሎች የስታቲክሊብ ጥቅል ይጠቀማሉ. - የሆንግ ኮንግ የቻይና ዩኒቨርሲቲ ተመራማሪዎች
ማዳበር በሩስት ውስጥ ለተካተቱ ስርዓቶች እና የነገሮች በይነመረብ መሳሪያዎች ሾፌሮችን የማዳበር ፕሮጀክት፣ እሱም እንዲሁም በከርነል ራስጌ ፋይሎች ላይ በመመስረት ንብርብሮችን ለመፍጠር ቢንዲን ይጠቀማል። ማዕቀፉ በከርነል ላይ ለውጦችን ሳያደርጉ የአሽከርካሪዎችን ደህንነት እንዲያሻሽሉ ይፈቅድልዎታል - በከርነል ውስጥ ለአሽከርካሪዎች ተጨማሪ የመገለል ደረጃዎችን ከመፍጠር ይልቅ ደህንነቱ የተጠበቀ የዝገት ቋንቋ በመጠቀም በማጠናቀር ደረጃ ላይ ያሉ ችግሮችን ለመግታት ሀሳብ ቀርቧል። ተገቢው ኦዲት ሳያደርጉ በችኮላ የባለቤትነት አሽከርካሪዎችን በማፍራት የመሣሪያ አምራቾች እንዲህ ዓይነቱ አካሄድ ሊጠየቅ ይችላል ተብሎ ይታሰባል። - ማዕቀፍ ገንቢዎች
C2 ዝገት C ኮድ ወደ ዝገት ለማሰራጨት ፣ማውጣት በትንሹ በእጅ አርትዖቶች የከርነል ሞጁሎችን የመቀየር ሙከራዎች። ከተጠቀሱት ችግሮች አንዱ በC2Rust ውስጥ ገና ያልተደገፉ የጂሲሲ ቅጥያዎችን በሚጠቀሙ የከርነል ኮድ ክፍሎች ውስጥ ጥቅም ላይ መዋሉ ነው። ይህንን ችግር ለመፍታት C2Rust ለጂሲሲ የመስመር ላይ፣ ቅዝቃዜ፣ ተለዋጭ ስም፣ ጥቅም ላይ የዋለ እና ክፍል ድጋፍን ለመጨመር አቅዷል፣ እንዲሁም የውስጠ-መስመር ሰብሳቢውን አቅም ለማስፋት እና ችግሮችን ለመፍታት በሁለቱም የተደረደሩ እና የታሸጉ መዋቅሮች (ለምሳሌ xregs_state) . በእጅ ሥራ የሚያስፈልጋቸው ጉልህ ችግሮች ቀላል ያልሆኑ C ማክሮዎችን ወደ Rust macro መተርጎም አለመቻል እና ዓይነቶችን እንደገና መወሰን አስፈላጊ ነው ፣ ምክንያቱም C2Rust የ C ዓይነቶችን በ libc ጥቅል ውስጥ ወደ ትርጓሜዎች ስለሚተረጉም ፣ ግን ይህ ጥቅል በከርነል ሞጁሎች ውስጥ መጠቀም አይቻልም።
ምንጭ: opennet.ru