->start() is called once when dump is being initialized, there is no
need to store it in netlink_cb.

Signed-off-by: Florian Westphal <f...@strlen.de>
---
 include/linux/netlink.h  | 1 -
 net/netlink/af_netlink.c | 5 ++---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index f3075d6c7e82..71f121b66ca8 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -170,7 +170,6 @@ netlink_skb_clone(struct sk_buff *skb, gfp_t gfp_mask)
 struct netlink_callback {
        struct sk_buff          *skb;
        const struct nlmsghdr   *nlh;
-       int                     (*start)(struct netlink_callback *);
        int                     (*dump)(struct sk_buff * skb,
                                        struct netlink_callback *cb);
        int                     (*done)(struct netlink_callback *cb);
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 393573a99a5a..f6ac7693d2cc 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -2300,7 +2300,6 @@ int __netlink_dump_start(struct sock *ssk, struct sk_buff 
*skb,
 
        cb = &nlk->cb;
        memset(cb, 0, sizeof(*cb));
-       cb->start = control->start;
        cb->dump = control->dump;
        cb->done = control->done;
        cb->nlh = nlh;
@@ -2309,8 +2308,8 @@ int __netlink_dump_start(struct sock *ssk, struct sk_buff 
*skb,
        cb->min_dump_alloc = control->min_dump_alloc;
        cb->skb = skb;
 
-       if (cb->start) {
-               ret = cb->start(cb);
+       if (control->start) {
+               ret = control->start(cb);
                if (ret)
                        goto error_put;
        }
-- 
2.16.4

Reply via email to