netlink: add a start callback for starting a netlink dump
The start callback allows the caller to set up a context for the dump callbacks. Presumably, the context can then be destroyed in the done callback. Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
3502cad73c
commit
fc9e50f5a5
@@ -2915,6 +2915,7 @@ 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;
|
||||
@@ -2927,6 +2928,9 @@ int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
|
||||
|
||||
mutex_unlock(nlk->cb_mutex);
|
||||
|
||||
if (cb->start)
|
||||
cb->start(cb);
|
||||
|
||||
ret = netlink_dump(sk);
|
||||
sock_put(sk);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user