Ghlac an eithne Linux 5.12 leis an bhfochóras KFence chun earráidí a bhrath agus iad ag obair le cuimhne

Áirítear leis an eithne Linux 5.12, atá á fhorbairt, cur i bhfeidhm an mheicníocht KFence (Kernel Electric Fence), a sheiceálann láimhseáil cuimhne, gabháil thar maoláin, rochtain chuimhne tar éis é a shaoradh, agus earráidí eile d'aicme den chineál céanna.

Bhí feidhmiúlacht chomhchosúil i láthair san eithne cheana féin i bhfoirm rogha tógála KASAN (sláintitheoir seoladh eithne, úsáideann Seoladh Sanitizer i gcc agus clang nua-aimseartha) - áfach, bhí sé suite go príomha le haghaidh úsáide dífhabhtaithe. Tá an fochóras KFence difriúil ó KASAN ina luas oibriúcháin ard, rud a fhágann gur féidir an ghné seo a úsáid fiú ar chroíleacáin i gcórais oibre.

Trí chur i bhfeidhm ar chórais táirgthe beifear in ann earráidí cuimhne a ghabháil nach dtaispeántar i ritheanna tástála agus nach bhfeictear dóibh ach amháin le linn ualaí oibre nó le linn oibriú fadtéarmach (le huas-am mór). Ina theannta sin, le húsáid KFence ar chórais táirgthe beifear in ann méadú suntasach a dhéanamh ar líon na n-innill a bhaineann le hoibriú an eithne a sheiceáil le cuimhne.

Baineann KFence amach lastuas íosta neamhspleách ar ualach trí leathanaigh gharda a chur isteach sa charn ag eatraimh sheasta. Tar éis don chéad eatramh cosanta eile a bheith caite, cuireann KFence, tríd an gcóras caighdeánach leithdháilte cuimhne (SLAB nó SLUB allocator), an chéad leathanach cosanta eile ó chomhthiomsú réad KFence, agus tosaíonn sé tuarascáil gcuntar ama nua. Tá gach réad KFence suite i leathanach cuimhne ar leith, agus cruthaíonn na leathanaigh chuimhne feadh na dteorainneacha clé agus ar dheis leathanaigh garda, a roghnaítear a mhéid go randamach.

Mar sin, tá leathanaigh ina bhfuil oibiachtaí scartha óna chéile ag leathanaigh chosanta, atá cumraithe chun “locht leathanaigh” a ghiniúint ar aon rochtain. Chun scríbhinní lasmuigh den teorainn a bhrath taobh istigh de leathanaigh oibiachta, úsáidtear “criosanna dearga” patrún-bhunaithe freisin, a áitíonn cuimhne nach n-úsáideann réada, a fhanann nuair a bhíonn méid na leathanach cuimhne ailínithe. —+———+———+————+———+————+— | xxxxxxxxx | Ó: | xxxxxxxxx | :ó | xxxxxxxxx | | xxxxxxxxx | B: | xxxxxxxxx | :b | xxxxxxxxx | | x GUARD x | J : RED- | x GUARD x | RED- : J | x GUARD x | | xxxxxxxxx | E: CRIOS | xxxxxxxxx | CRIOS: E | xxxxxxxxx | | xxxxxxxxx | C: | xxxxxxxxx | :C | xxxxxxxxx | | xxxxxxxxx | T: | xxxxxxxxx | :T | xxxxxxxxx | —+———+———+————+———+————+—

Má dhéantar iarracht rochtain a fháil ar limistéar lasmuigh de na teorainneacha maoláin, bíonn tionchar ag an oibríocht ar an leathanach cosanta, rud a fhágann go gcruthaítear “locht leathanach”, a idircheapann KFence agus a logálann faisnéis faoin bhfadhb aitheanta. De réir réamhshocraithe, ní chuireann KFence bac ar earráid agus ní thaispeánann sé ach rabhadh sa loga, ach tá socrú “panic_on_warn” ann a ligeann duit an eithne a chur i stát scaoll má aimsítear earráid.

Foinse: oscailtenet.ru

Add a comment