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

时间:2023-03-30 21:57:40
RK3568平台开发系列讲解(驱动基础篇)IS_ERR函数的使用

????返回专栏总目录

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

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

一、IS_ERR函数


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

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

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

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