背景 Linux内核模块中的函数如果返回值是指针,出现异常的时候如何返回多样的内核错误呢? 方法 通过Linux内核的ERR指针模式。然后返回后使用内核接口来判断是否有异常。 函数中: 函数定义的地方: struct mlx5_cache_ent * mlx5r_cache_create_ent_locked(struct mlx5_ib_dev *dev, struct mlx5r_cache_rb_key rb_key, bool persistent_entry) { ent = kzalloc(sizeof(*ent), GFP_KERNEL);