error:has 'skb_frag_t {aka struct bio_vec}'no member named 'page_offset'(以KylinV10SP3_2303为例)

问题描述

error:has 'skb_frag_t {aka struct bio_vec}'no member named 'page_offset'

解决方案

先在内核代码里查询定义该参数的接口。

对比源码中的skb_frag_off_add和内核中的skb_frag_off_add定义,发现是传递参数的名称发生了变更,修改如图3所示。

图1 skb_frag_off_add
图2 skb_frag_off_add
图3 编译

当定义KYLIN_4_19时,选择对page_offset进行正确定义。

#ifdef KYLIN_4_19
#define page_offset bv_offset
#endif