Информация об изменениях

Сообщение Re[6]: Meltdown and Spectre от 05.01.2018 14:48

Изменено 05.01.2018 14:50 novitk

Re[6]: Meltdown and Spectre
Здравствуйте, Pzz, Вы писали:

Pzz>А часто вообще попадаются программы, которым на вполне законных основаниях надо слазить в ядерные адреса и обойтись легким SIGSEGV'ом, вместо заслуженной смерти?


Cyberax не правильно объяснил. Никакого SEGV не будет.
char *data = 0xFFFFa123123; // В ядре
char myData[1024]; // В userSpace
dumpCaches();
if (someConditionThatWillBeFalse) {
   // меняет только cache!
   int oneOrZeroInKernel = (*data) & 0x01;
   myData[oneOrZeroInKernel*512]
}
checkWhatIsCachedInMyDataViaTiming() // if myData[512] is cached than kernel had 1, else 0
Re[6]: Meltdown and Spectre
Здравствуйте, Pzz, Вы писали:

Pzz>А часто вообще попадаются программы, которым на вполне законных основаниях надо слазить в ядерные адреса и обойтись легким SIGSEGV'ом, вместо заслуженной смерти?


Cyberax не правильно объяснил. Никакого SEGV не будет.
char *data = 0xFFFFa123123; // В ядре
char myData[1024]; // В userSpace
dumpCaches();
if (someConditionThatWillBeFalse) {
   // сюда лезет branchPredictor и меняет только cache!
   int oneOrZeroInKernel = (*data) & 0x01;
   myData[oneOrZeroInKernel*512]
}
checkWhatIsCachedInMyDataViaTiming() // if myData[512] is cached than kernel had 1, else 0