需要注意的一个坑
函数 filp_open 原型如下:
struct file* filp_open(const char*, int, umode_t);
它如果失败,返回的是一个错误码,而不是空指针,如果当做去做错误判断会导致系统挂死,应该使用以下错误处理方式
file = filp_open(name, O_RDONLY, 0666);
if (IS_ERR(file)) {
printk("%s : %d , %p error\n", __FILE__, __LINE__, file);
return;
}