> 文章列表 > RK3568平台开发系列讲解(驱动基础篇)IS_ERR函数的使用

RK3568平台开发系列讲解(驱动基础篇)IS_ERR函数的使用

RK3568平台开发系列讲解(驱动基础篇)IS_ERR函数的使用

?返回专栏总目录

文章目录

沉淀、分享、成长,让自己和他人都能有所收获!?

?本篇将介绍 IS_ERR 函数的使用。

一、IS_ERR函数


对于任何一个指针来说,必然存在三种情况:

  • 一种是合法指针
  • 一种是 NULL (也就是空指针)
  • 一种是错误指针(也就是无效指针)。

Linux 内核中,所谓的错误指针已经指向了内核空间的最后一页,例如,对于一个 64 位系统来说,内核空间最后地址为 0xffffffffffffffff,那么最后一页的地址是 0xfffffffffffff000~0xffffffffffffffff,这段地址是被保留的,如果指针落在这段地址之内,说明是错误的无效指针。

Linux 内核源码中实现了指针错误的处理