调用filep_open后系统死机

需要注意的一个坑

函数 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;

    }

你可能感兴趣的:(调用filep_open后系统死机)