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