Në kernelin Linux 5.18 planifikohet të lejohet përdorimi i standardit të gjuhës C C11

Gjatë diskutimit të një grupi patches për zgjidhjen e problemeve të lidhura me vulnerabilitetet e klasës Spectre në kodin për punimin me lista të lidhura, u bë e qartë se problemi do të zgjidhej më elegancë nëse në bërthamë do të lejohej kod në gjuhën C, që i përmbush standardin më të ri. Aktualisht, kodi i shtuar në bërthamë duhet të përputhet me specifikimin ANSI C (C89), i formuar që në vitin 1989.

Problemi i lidhur me Spectre nĂ« kod ishte shkaktuar nga vazhdimi i pĂ«rdorimit tĂ« njĂ« iteratori tĂ« definuar veçmas pas ciklit — pĂ«r tĂ« iteruar elementet e listĂ«s sĂ« lidhur pĂ«rdoret njĂ« makros, dhe pasi iteratori i ciklit kalon nĂ« kĂ«tĂ« makros, ai pĂ«rcaktohet jashtĂ« vetĂ« ciklit dhe mbetet i aksesueshĂ«m pas ciklit. PĂ«rdorimi i standardit C99 do tĂ« lejonte pĂ«rkufizimin e variablave pĂ«r ciklin nĂ« bllokun for(), çka do ta zgjidhte problemin pa shpikur rruge alternative.

Linus Torvalds u pajtua me idenĂ« e implementimit tĂ« mbĂ«shtetjes pĂ«r specifikime mĂ« tĂ« reja dhe sugjeroi kalimin nĂ« bĂ«rthamĂ«n 5.18 nĂ« pĂ«rdorimin e standardit C11, i publikuar nĂ« vitin 2011. GjatĂ« verifikimit paraprak, ndĂ«rtimi nĂ« GCC dhe Clang nĂ« modin e ri kaloi pa disfundime. NĂ«se gjatĂ« testimit mĂ« tĂ« kujdesshĂ«m nuk do tĂ« dalin probleme tĂ« paparashikuara, opsioni ‘—std=gnu89’ nĂ« skriptedie pĂ«r ndĂ«rtimin e bĂ«rthamĂ«s 5.18 do tĂ« zĂ«vendĂ«sohet me ‘—std=gnu11 -Wno-shift-negative-value’. U shqyrtua gjithashtu mundĂ«sia e pĂ«rdorimit tĂ« standardit C17, por nĂ« kĂ«tĂ« rast do tĂ« duhej tĂ« rritej versioni minimal i mbĂ«shtetur nga GCC. Inkuadrimi i mbĂ«shtetjes pĂ«r C11 pĂ«rputhet me kĂ«rkesat aktuale pĂ«r versionin GCC (5.1).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster