この関数を使用して、いくつかの構造をカーネルにコピーしています。しかし、問題は、より大きなデータ構造の一部である 3 つのデータ構造をコピーする必要があることです。注: 3 つのデータ構造は、より大きなデータ構造で連続しています。
SO、私のコピーユーザー関数では、最初のデータ構造のポインターを渡し、3 つのデータ構造すべての長さを指定します。しかし、ユーザー空間に移動して2番目のデータ構造の最初の要素を出力すると、他の値が得られます。
SO、私は何を間違っていますか。として、解決策として私は 3 つの copt_to_user 呼び出しを行いましたが、驚いたことにそれは正常に動作します。単一の copy_to_user 呼び出しを行うときの問題です。
何が原因か教えてください。
答えてくれてありがとう、それは配置の問題でしたが、さらに進んで、内部構造を埋めたい場合はどうすればいいですか..? 例-
構造d{
構造体 b;
構造体 c; //この構造をパディングしたいのですが、どうすればいいですか?
構造体 d;
}