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 |
||
|---|---|---|
| .. | ||
| actions.c | ||
| datapath.c | ||
| datapath.h | ||
| dp_notify.c | ||
| flow.c | ||
| flow.h | ||
| flow_netlink.c | ||
| flow_netlink.h | ||
| flow_table.c | ||
| flow_table.h | ||
| Kconfig | ||
| Makefile | ||
| vport-geneve.c | ||
| vport-gre.c | ||
| vport-internal_dev.c | ||
| vport-internal_dev.h | ||
| vport-netdev.c | ||
| vport-netdev.h | ||
| vport-vxlan.c | ||
| vport-vxlan.h | ||
| vport.c | ||
| vport.h | ||