構造を持つカーネルモジュールを作成しようとしています & ユーザー空間アプリケーションで同じ構造を使用したいのですが、このアプリケーションは指定されたモジュールで動作します。
主な問題は、この構造体に という名前の変数が含まれていることですspinlock_t type
。ロックのためにカーネルで使用されますが、ユーザー空間アプリケーションで使用する方法がわかりません。
struct new_struct
{
...some variable...
spinlock_t u_lock;
};
ユーザー空間アプリケーションでスピンロックを使用する方法はありますか?
または、カーネルとユーザー空間の両方で使用できる別のロック手法があり、ロックがユーザーアプリケーションによって保持されている場合、カーネルモジュールはそれを取得できず、その逆も同様です。