システムをクラッシュさせている「アトミックでのスケジューリング」のため、カーネルコードをデバッグしようとしています。実際のカーネルモジュールのある時点で、別のカーネルモジュールで定義された関数を呼び出すための行を追加しました (これは私が作成したものです)。呼び出しは次のとおりです。
mycallback(svc, skb);
関数mycallback()
は を返しますint
。だから私は2つの質問があります:
結果を変数に代入せずに、カーネル内で非 void 関数を呼び出すことは安全ですか?
呼び出されるコード
mycallback()
が spin_locked などである場合、安全でしょうか? それは spin_locked/atomic でしょうか、それともスリープしてカーネルを危険にさらす可能性がありますか?