不是所有者应该成为net_device
结构的一部分吗?我看到线程指示宏SET_MODULE_OWNER
(分配了成员)是/是/可能被弃用,但我认为我理解该成员将保留在结构中。它在某个版本的内核中消失了吗?
答案 0 :(得分:1)
现代内核git存储库没有此更改。您可以使用full kernel history repository查找更改:
$ git log -S'struct module *owner;' -- include/linux/netdevice.h
显示此提交:
Author: David S. Miller <davem@nuts.ninka.net>
Date: Mon May 19 04:30:48 2003 -0700
[NET]: Fix netdevice unregister races.
哇,这是13年前,很老的东西。这是提交本身:link。而你正在寻找的改变:
- /* open/release and usage marking */
- struct module *owner;
所以看起来(从补丁中)你可以忘记那些owner
的东西。要在完成此提交时找出内核版本:
$ git tag --contains 558d700c48 | head -1
显示v2.6.0
。之前的标记是v2.4.0
。所以它是在2.4和2.6之间完成的。
实际上,通过Google搜索补丁名称,我们可以发现它已完全添加到2.5.70版本中。
可以做同样的事情来弄清SET_MODULE_OWNER
去了哪里。这个补丁删除了它:
Author: Ralf Baechle <ralf@linux-mips.org>
Date: Mon Sep 17 13:11:17 2007 -0700
[NET]: Nuke SET_MODULE_OWNER macro.
可以看到整个补丁here。补丁已合并到v2.6.24
。