diff options
Diffstat (limited to 'net/netlink/af_netlink.c')
| -rw-r--r-- | net/netlink/af_netlink.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 2ad445c1d27c..07e8478068f0 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -2308,7 +2308,7 @@ int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,  	if (cb->start) {  		ret = cb->start(cb);  		if (ret) -			goto error_unlock; +			goto error_put;  	}  	nlk->cb_running = true; @@ -2328,6 +2328,8 @@ int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb,  	 */  	return -EINTR; +error_put: +	module_put(control->module);  error_unlock:  	sock_put(sk);  	mutex_unlock(nlk->cb_mutex); | 

