diff options
Diffstat (limited to 'net/openvswitch/datapath.c')
| -rw-r--r-- | net/openvswitch/datapath.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 015e24e08909..0f5ce77460d4 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -1578,8 +1578,9 @@ static int ovs_dp_cmd_new(struct sk_buff *skb, struct genl_info *info)  		goto err_destroy_table;  	} -	dp->ports = kmalloc(DP_VPORT_HASH_BUCKETS * sizeof(struct hlist_head), -			    GFP_KERNEL); +	dp->ports = kmalloc_array(DP_VPORT_HASH_BUCKETS, +				  sizeof(struct hlist_head), +				  GFP_KERNEL);  	if (!dp->ports) {  		err = -ENOMEM;  		goto err_destroy_percpu; @@ -2288,6 +2289,9 @@ static struct genl_family * const dp_genl_families[] = {  	&dp_flow_genl_family,  	&dp_packet_genl_family,  	&dp_meter_genl_family, +#if	IS_ENABLED(CONFIG_NETFILTER_CONNCOUNT) +	&dp_ct_limit_genl_family, +#endif  };  static void dp_unregister_genl(int n_families) @@ -2323,8 +2327,7 @@ static int __net_init ovs_init_net(struct net *net)  	INIT_LIST_HEAD(&ovs_net->dps);  	INIT_WORK(&ovs_net->dp_notify_work, ovs_dp_notify_wq); -	ovs_ct_init(net); -	return 0; +	return ovs_ct_init(net);  }  static void __net_exit list_vports_from_net(struct net *net, struct net *dnet, @@ -2469,3 +2472,4 @@ MODULE_ALIAS_GENL_FAMILY(OVS_VPORT_FAMILY);  MODULE_ALIAS_GENL_FAMILY(OVS_FLOW_FAMILY);  MODULE_ALIAS_GENL_FAMILY(OVS_PACKET_FAMILY);  MODULE_ALIAS_GENL_FAMILY(OVS_METER_FAMILY); +MODULE_ALIAS_GENL_FAMILY(OVS_CT_LIMIT_FAMILY);  | 
