linux/net/openvswitch
Chris J Arges bac541e463 openvswitch: allocate nr_node_ids flow_stats instead of num_possible_nodes
Some architectures like POWER can have a NUMA node_possible_map that
contains sparse entries. This causes memory corruption with openvswitch
since it allocates flow_cache with a multiple of num_possible_nodes() and
assumes the node variable returned by for_each_node will index into
flow->stats[node].

Use nr_node_ids to allocate a maximal sparse array instead of
num_possible_nodes().

The crash was noticed after 3af229f2 was applied as it changed the
node_possible_map to match node_online_map on boot.
Fixes: 3af229f207

Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-21 22:26:03 -07:00
..
Kconfig geneve: Rename support library as geneve_core 2015-05-13 15:59:13 -04:00
Makefile ovs: Turn vports with dependencies into separate modules 2014-10-28 14:43:18 -04:00
actions.c openvswitch: include datapath actions with sampled-packet upcall to userspace 2015-06-01 15:05:40 -07:00
datapath.c openvswitch: include datapath actions with sampled-packet upcall to userspace 2015-06-01 15:05:40 -07:00
datapath.h openvswitch: include datapath actions with sampled-packet upcall to userspace 2015-06-01 15:05:40 -07:00
dp_notify.c genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
flow.c openvswitch: Use eth_proto_is_802_3 2015-05-05 19:24:42 -04:00
flow.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
flow_netlink.c openvswitch: Use eth_proto_is_802_3 2015-05-05 19:24:42 -04:00
flow_netlink.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
flow_table.c openvswitch: allocate nr_node_ids flow_stats instead of num_possible_nodes 2015-07-21 22:26:03 -07:00
flow_table.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
vport-geneve.c geneve: move definition of geneve_hdr() to geneve.h 2015-05-13 15:59:13 -04:00
vport-gre.c openvswitch: Introduce ovs_tunnel_route_lookup 2015-01-14 16:32:06 -05:00
vport-internal_dev.c openvswitch: Drop packets when interdev is not up 2014-11-05 23:52:35 -08:00
vport-internal_dev.h openvswitch: introduce rtnl ops stub 2014-07-01 14:40:17 -07:00
vport-netdev.c openvswitch: disable LRO 2015-06-03 19:39:35 -07:00
vport-netdev.h ovs: Turn vports with dependencies into separate modules 2014-10-28 14:43:18 -04:00
vport-vxlan.c udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). 2015-04-07 15:29:08 -04:00
vport-vxlan.h openvswitch: Support VXLAN Group Policy extension 2015-01-15 01:11:41 -05:00
vport.c openvswitch: Return vport module ref before destruction 2015-03-31 15:59:50 -04:00
vport.h openvswitch: Fix net exit. 2015-02-20 15:32:08 -05:00