Re: [patch v3 02/11] inet_diag: pass inet_diag module to netlink_dump_start
flat view
From: Eric Dumazet <hidden>
Date: 2012-10-04 05:08:36
Also in:
linux-crypto, linux-rdma, netfilter-devel
On Thu, 2012-10-04 at 12:41 +0800, Gao feng wrote:
quoted hunk ↗ jump to hunk
set netlink_dump_control.module to avoid panic. Signed-off-by: Gao feng <redacted> --- net/ipv4/inet_diag.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 535584c..5ffd7bc 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c@@ -981,6 +981,7 @@ static int inet_diag_rcv_msg_compat(struct sk_buff *skb, struct nlmsghdr *nlh) { struct netlink_dump_control c = { .dump = inet_diag_dump_compat, + .module = THIS_MODULE, }; return netlink_dump_start(net->diag_nlsk, skb, nlh, &c); }@@ -1010,6 +1011,7 @@ static int inet_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) { struct netlink_dump_control c = { .dump = inet_diag_dump, + .module = THIS_MODULE, }; return netlink_dump_start(net->diag_nlsk, skb, h, &c); }
I believe Pablo suggestion was to make netlink_dump_start()
automatically pass THIS_MODULE so that we dont need to change all call
sites ?
extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
const struct nlmsghdr *nlh,
struct netlink_dump_control *control);
static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
const struct nlmsghdr *nlh,
struct netlink_dump_control *control)
{
control->module = THIS_MODULE;
return __netlink_dump_start(ssk, skb, nlh, control);
}
or :
extern int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
const struct nlmsghdr *nlh,
struct netlink_dump_control *control,
struct module *module);
static inline int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
const struct nlmsghdr *nlh,
struct netlink_dump_control *control)
{
return __netlink_dump_start(ssk, skb, nlh, control, THIS_MODULE);
}