什么时候所有者从net_device结构中消失了? ' struct net_device'没有名为' owner'

时间:2016-10-27 18:16:00

标签: linux-kernel linux-device-driver

不是所有者应该成为net_device结构的一部分吗?我看到线程指示宏SET_MODULE_OWNER(分配了成员)是/是/可能被弃用,但我认为我理解该成员将保留在结构中。它在某个版本的内核中消失了吗?

1 个答案:

答案 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