我正在尝试计算 BPF 中传入的指针字符串,但我留下了这个我无法理解的非常长的错误。我基本上是在尝试在 BPF 中重新创建 strlen 来计算我传入的字符串 * 的大小。错误中有趣的区域可以在这里看到:
R1 最小值超出处理的允许内存范围 2353 insns(限制 1000000) max_states_per_insn 1 total_states 242 peak_states 242 mark_read 2
关于如何解决其他问题的任何想法?
这是我写的代码:
int stringLength(char* txt)
{
int i=0,count=0;
while(txt[i++]!='\0'){
count+=1;
}
return count;
}
这是我在主 BPF 函数中调用的辅助函数。