首页 > 代码库 > 自旋锁死锁

自旋锁死锁

自旋锁内调用kmalloc或者copy_to_user之类的接口可能造成死锁。

这类函数的实现内有睡眠操作,睡眠时产生了进程调度,新的进程内如果也使用了该自旋锁,就会导致死锁。

 

这类问题非常普通,但很容易忽略;

屏蔽的方式:

1,使用get_free_page申请内存

2,对资源使用引用计数保护

3,使用互斥锁

自旋锁死锁