linux kernel 错误返回
使用错误返回等与err相关的定义与操作,需包含头文件:
- static inline long __must_check IS_ERR_OR_NULL(const void *ptr) {
- return !ptr || IS_ERR_VALUE((unsigned long)ptr); }
IS_ERR()判断的是指针是否指向错误码区域,ptr==NULL或!ptr判断的是指针是否为空,这几个判断一般用在当调用的函数的返回值为指针类型。对于IS_ERR()与ptr==NULL的使用区别,则具体要看调用的是什么函数,如果函数在调用失败时返回NULL指针,那么就应该使用ptr==NULL或者!ptr。如果函数在调用失败时返回的是指向错误码区的指向,那么就要使用IS_ERR()或者IS_ERR_VALUE()。当然也可以使用IS_ERR_OR_NULL来判断所有的返回为指针的调用。