Я пытаюсь подсчитать переданную строку указателя в BPF, но у меня остается очень длинная ошибка, которую я не могу понять. В основном я пытаюсь воссоздать strlen в BPF, чтобы подсчитать размер моей переданной строки *. Интересную область ошибки можно увидеть здесь:
Минимальное значение R1 выходит за пределы допустимого диапазона обработанной памяти 2353 insns (предел 1000000) max_states_per_insn 1 total_states 242peak_states 242 mark_read 2
Любая идея о том, как решить что-то еще?
Вот код, который я написал:
int stringLength(char* txt)
{
int i=0,count=0;
while(txt[i++]!='\0'){
count+=1;
}
return count;
}
Это вспомогательная функция, которую я вызываю в своей основной функции BPF.