我正在尝试创建一个具有结构的内核模块,并且我想在用户空间应用程序中使用相同的结构,并且该应用程序与给定的模块一起使用。
主要问题是这个结构包含一个名为spinlock_t type
. 它在内核中用于锁定,但不知道如何在用户空间应用程序中使用它。
struct new_struct
{
...some variable...
spinlock_t u_lock;
};
有没有办法在用户空间应用程序中使用自旋锁。
或者是否有任何其他可以在内核和用户空间中使用的锁定技术,这样如果用户应用程序持有锁,内核模块应该无法获得它,反之亦然。