Kernel-ka Linux 5.12 ayaa qaatay nidaamka hoose ee KFence si loo ogaado khaladaadka marka lagu shaqeynayo xusuusta

Kernel-ka Linux 5.12, kaas oo ku jira horumarka, waxaa ka mid ah hirgelinta habka KFence (Kernel Electric Fence), kaas oo hubinaya maaraynta xusuusta, qabashada bakhaarka xad dhaafka ah, xusuusta gelitaanka ka dib marka la sii daayo, iyo khaladaadka kale ee fasalka la midka ah.

Waxqabad la mid ah ayaa horeba ugu jiray kernel-ka qaabka ikhtiyaarka dhismaha KASAN ( nadiifiyaha ciwaanka kernel-ka, adeegsadaha nadiifiyaha ciwaanka ee gcc casriga ah iyo qabiilg) - si kastaba ha ahaatee, waxa loo dhigay inta badan isticmaalka ciribtirka. Nidaamka hoose ee KFence wuxuu kaga duwan yahay KASAN xawaarihiisa shaqo ee sarreeya, taas oo suurtogal ka dhigaysa in la isticmaalo habkan xitaa koofiyadaha nidaamyada shaqada.

Codsiga nidaamyada wax soo saarka ayaa suurtogal ka dhigaya in la qabto khaladaadka xusuusta ee aan ka muuqanin imtixaannada oo kaliya oo muuqda inta lagu jiro culeyska shaqada ama inta lagu jiro hawlgalka muddada dheer (oo leh waqti badan). Intaa waxaa dheer, isticmaalka KFence ee nidaamyada wax soo saarka ayaa suurtogal ka dhigaya in si weyn loo kordhiyo tirada mashiinnada ku lug leh hubinta hawlgalka kernel ee xasuusta.

KFence waxay ku guulaysataa culeyska ugu yar ee madax-bannaan ee korka ah iyadoo gelisa bogag ilaalin tuubada waqtiyo go'an. Ka dib marka mudada ilaalinta xigta ay dhacdo, KFence, iyada oo loo marayo nidaamka qoondaynta xusuusta caadiga ah (SLAB ama SLUB allocator), waxay ku darsataa bogga ilaalinta xiga ee barkada shayga KFence, oo waxay bilaabeysaa warbixin cusub oo wakhtiga. Shay kasta oo KFence ah wuxuu ku yaalaa bog xusuus gaar ah, bogagga xusuusta ee xuduudaha bidix iyo midig waxay sameeyaan bogag ilaalin, cabbirkooda si aan kala sooc lahayn ayaa loo doortay.

Sidaa darteed, boggaga walxaha leh ayaa midba midka kale ka soocaa boggaga ilaalinta, kuwaas oo loo habeeyey si ay u abuuraan "cillad bogga" marin kasta. Si loo ogaado wax ka baxsan xuduudaha ayaa ku qoran bogga shayga, qaabka ku salaysan "aagagga cas" ayaa sidoo kale la isticmaalaa, kuwaas oo ku jira xusuusta aan loo isticmaalin walxaha, oo hadhay marka cabbirka boggaga xusuusta la siman yahay. —+——————————————————————————+— | xxxxxxxxx | O: | xxxxxxxxx | :O | xxxxxxxxx | | xxxxxxxxx | B: | xxxxxxxxx | :B | xxxxxxxxx | | x ILAALINTA x | J : CASAAN- | x ILAALINTA x | CASAAN-: J | x ILAALINTA x | | xxxxxxxxx | E: Aagga | xxxxxxxxx | Aagga: E | xxxxxxxxx | | xxxxxxxxx | C: | xxxxxxxxx | :C | xxxxxxxxx | | xxxxxxxxx | T: | xxxxxxxxx | : T | xxxxxxxxx | —+———————————————————————————

Haddii la isku dayo in la galo meel ka baxsan xudduudaha xannibaadda, hawlgalku wuxuu saameeyaa bogga ilaalinta, taas oo horseedaysa abuurista "cillada bogga", kaas oo dhexda u ah KFence oo diiwaangeliya macluumaadka ku saabsan dhibaatada la ogaaday. Sida caadiga ah, KFence ma xannibto qaladka oo kaliya waxay soo bandhigtaa digniinta log, laakiin waxaa jira "argagax_on_warn" oo kuu ogolaanaya inaad kernel-ka geliso xaalad argagax leh haddii qalad la ogaado.

Source: opennet.ru

Add a comment