O se fa'aletonu vave na i'u ai i se fa'aletonu le atoatoa mo se fa'aletonu Specter i le fatu Linux

Atina'e o le poloketi Grsecurity faasoa ose tala fa'ailoa e fa'aalia ai pe fa'afefea ona ave'esea le fa'aleaogaina o lapataiga fa'apipi'i e mafai ona o'o atu ai i fa'aletonu ile tulafono. I le fa'ai'uga o Me, na tu'uina atu ai se fa'atonuga mo le fatu Linux mo se ve'a fou o le fa'aogaina o le fa'aletonu Specter e ala i le ptrace system call.

A o suʻeina le patch, na matauina e le au atinaʻe pe a fausia, e faʻaalia e le tagata faʻapipiʻi se lapataiga e uiga i le faʻafefiloi o code ma faʻamatalaga (o le fausaga na faʻamatalaina pe a uma le code, tuʻuina atu se tau i se fesuiaiga o loʻo iai):

int fa'asino = n;
afai (n <HBP_NUM) { fa'asino = array_index_nospec(index, HBP_NUM); struct perf_event *bp = filo->ptrace_bps[index];

Na talia e Lino faasaʻoga i lou matai lala, ua aveesea mai le lapataiga e ala i le faʻanofoina o le faʻamatalaga fesuiaiga i se poloka pe afai:

afai (n <HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = filo->ptrace_bps[index];

Ia Iulai, na faʻapipiʻiina foʻi le faʻapipiʻi i lala fatu mautu 4.4, 4.9, 4.14, 4.19 ma le 5.2. Na fetaiaʻi foʻi ma le lapataʻiga le ʻau tausiaina o lālā o manu, ma na i lo le siakiina pe ua uma ona toe faaleleia i totonu o le lala o Linus, na latou faia se faaleleiga. O le faʻafitauli e aunoa ma le mafaufau moni i ai, latou te naʻo siitia faʻamalamalamaina o le fausaga i luga, ina ia mafai ai e le valaau i array_index_nospec, lea e tuʻu saʻo ai le puipuiga mai le faʻafitauli, e le toe faʻaaogaina pe a faʻamalamalamaina le fausaga, ma nai lo le fesuiaiga "index" o le fesuiaiga "n" e masani ona faʻaaogaina:

int fa'asino = n;
afai (n <HBP_NUM ){ struct perf_event *bp = thread->ptrace_bps[index];
fa'asino = array_index_nospec(fa'asinomaga, HBP_NUM);

puna: opennet.ru

Faaopoopo i ai se faamatalaga