カーネルの sched.c の関数でPC1 とLR2の両方が指しているという問題に直面しています。cpuacct_charge()これが発生する可能性のあるシナリオはありますか? 私の分析では、cpuacct_charge()関数に再帰がないことが示されています。コードを提供できません。ただし、これが発生した場合のシナリオは大きな助けになります。
明確化のために : PC と LR の値は、関数内の異なる場所を指しています。
void cpuacct_charge(struct task_struct *tsk, u64 cputime)
注 1: PC - プログラム カウンタ
注 2: LR - リンク レジスタ