这两个函数比较少用到,到源代码里面去找了半天才找到。起因是因为altera提供的fpga的opencl带的驱动程序中要使用用户程序struct task_struct里面的数据结构(其实是调用get_user_pages之类的函数需要的),而这些调用又是异步的,也就是驱动程序开了work_queue,用在中断处理函数中了。结果就是如果用户一不小心X掉了应用程序,导致中断处理的时候,使用了已经释放的struct task_struct指针,内核就给搞挂了。
阅读(2149) | 评论(0) | 转发(0) |