Re: [PATCH] inet_diag: make config INET_DIAG bool
From: Gao feng <hidden>
Date: 2012-09-25 02:18:17
于 2012年09月24日 19:32, Eric Dumazet 写道:
On Mon, 2012-09-24 at 18:17 +0800, Gao feng wrote:quoted
于 2012年09月24日 17:42, Eric Dumazet 写道:quoted
In fact I didnt fully understand the problem you try to address. If you want to prevent module being unloaded, you need to add proper module_get()/module_put() So I would add a "struct module *module;" in struct sock_diag_handler and use it appropriately.Yes, I try to add reference of the module,but I can't find a proper location to call module_get and module_put. module_get should be called when userspace program use netlink to send dump request to the kernel,and module_put should be called when the dump is completed. I am right? BUT the userspace program may only call netlink_sendmsg without call netlink_recvmsg.so the reference of the module will be incorrect.check ->dump() and ->done() methods
I miss that cb->done will be called when netlink sock being destructed. so add a reference of the inet_diag module is doable. I will send a v2 patch. Thanks!