diff options
Diffstat (limited to 'net/mpls/af_mpls.c')
| -rw-r--r-- | net/mpls/af_mpls.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mpls/af_mpls.c b/net/mpls/af_mpls.c index 35b5f806fdda..dc5165d3eec4 100644 --- a/net/mpls/af_mpls.c +++ b/net/mpls/af_mpls.c @@ -1428,6 +1428,7 @@ static int mpls_dev_sysctl_register(struct net_device *dev,  free:  	kfree(table);  out: +	mdev->sysctl = NULL;  	return -ENOBUFS;  } @@ -1437,6 +1438,9 @@ static void mpls_dev_sysctl_unregister(struct net_device *dev,  	struct net *net = dev_net(dev);  	struct ctl_table *table; +	if (!mdev->sysctl) +		return; +  	table = mdev->sysctl->ctl_table_arg;  	unregister_net_sysctl_table(mdev->sysctl);  	kfree(table);  |