自旋锁内调用kmalloc或者copy_to_user之类的接口可能造成死锁。
这类函数的实现内有睡眠操作,睡眠时产生了进程调度,新的进程内如果也使用了该自旋锁,就会导致死锁。
这类问题非常普通,但很容易忽略;
屏蔽的方式:
1,使用get_free_page申请内存
2,对资源使用引用计数保护
3,使用互斥锁
posted on 2014-10-21 12:56 Kernel_wu 阅读(791) 评论(0) 收藏 举报
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3