From patchwork Thu Oct 4 04:41:26 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v3,08/11] crypto: pass crypto_user module to netlink_dump_start Date: Wed, 03 Oct 2012 18:41:26 -0000 From: Gao feng X-Patchwork-Id: 189032 Message-Id: <1349325689-16104-8-git-send-email-gaofeng@cn.fujitsu.com> To: davem@davemloft.net, eric.dumazet@gmail.com, steffen.klassert@secunet.com Cc: netfilter-devel@vger.kernel.org, linux-rdma@vger.kernel.org, netdev@vger.kernel.org, linux-crypto@vger.kernel.org, pablo@netfilter.org, stephen.hemminger@vyatta.com, jengelh@inai.de, Gao feng , Herbert Xu set netlink_dump_control.done to avoid panic. Signed-off-by: Gao feng Cc: Herbert Xu --- crypto/crypto_user.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/crypto/crypto_user.c b/crypto/crypto_user.c index 6bba414..f08297b 100644 --- a/crypto/crypto_user.c +++ b/crypto/crypto_user.c @@ -430,13 +430,15 @@ static struct crypto_link { int (*doit)(struct sk_buff *, struct nlmsghdr *, struct nlattr **); int (*dump)(struct sk_buff *, struct netlink_callback *); int (*done)(struct netlink_callback *); + struct module *module; } crypto_dispatch[CRYPTO_NR_MSGTYPES] = { [CRYPTO_MSG_NEWALG - CRYPTO_MSG_BASE] = { .doit = crypto_add_alg}, [CRYPTO_MSG_DELALG - CRYPTO_MSG_BASE] = { .doit = crypto_del_alg}, [CRYPTO_MSG_UPDATEALG - CRYPTO_MSG_BASE] = { .doit = crypto_update_alg}, [CRYPTO_MSG_GETALG - CRYPTO_MSG_BASE] = { .doit = crypto_report, .dump = crypto_dump_report, - .done = crypto_dump_report_done}, + .done = crypto_dump_report_done, + .module = THIS_MODULE}, }; static int crypto_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) @@ -471,6 +473,7 @@ static int crypto_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) .dump = link->dump, .done = link->done, .min_dump_alloc = dump_alloc, + .module = link->module, }; return netlink_dump_start(crypto_nlsk, skb, nlh, &c); }