|
注意到从2.6.16版本开始,linux的内核中include/net/inet_common.h的头文件有修改,第四和第五行inet_stream_ops和inet_dgram_ops被声明成了常量。这造成我的一个第三方内核模块不能编译,因为这个模块在工作的时候需要对inet_stream_ops和inet_dgram_ops进行赋值的操作。在新版的内核中因为这两个量被声明成了常量,当然也就编译不能通过了。目前本人对于内核编程方面基本不懂,我想知道的是声明成常量是为了什么?我猜是安全方面的原因。如果确实需要对数据进行修改,那么新版的内核是否会提供直接赋值之外的操作方法呢?我对那个模块该怎么改,而不是去动内核呢?因为我也不知道,改那个头文件的定义是否会对对系统产生其他的影响。并且为一个模块去发布一个内核补丁,实在没有必要。请大家指点! |
|