Недавно я хочу реализовать функцию: Dynami c Измерьте код ядра: [_ stext, _etext] с помощью sha256, я создаю поток ядра для выполнения измерения и cal c ha sh of код ядра каждые 2 секунды, я думаю, что ha sh не следует менять, но во время последовательности загрузки ha sh был изменен, поэтому я очень запутался. и я использую следующий код для вызова c ха sh:
void CalcKernelCodeHash(char *KernelHash)
{
//struct mm_struct *mm = &init_mm;
int CodeLength = _etext - _stext;
unsigned long kernel_start_address = (unsigned long)_stext;
int i = 0;
if(NULL == KernelHash)
{
pr_info("KernelHash is Null\n");
return;
}
mbedtls_sha256((char *)(kernel_start_address), CodeLength, KernelHash, 0);
}