netfilter: ebtables: allocate chainstack on CPU local nodes
authorDavidlohr Bueso <dave@stgolabs.net>
Sun, 10 Oct 2021 18:24:39 +0000 (11:24 -0700)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 17 Oct 2021 22:23:57 +0000 (00:23 +0200)
Keep the per-CPU memory allocated for chainstacks local.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/bridge/netfilter/ebtables.c

index 83d1798..ba045f3 100644 (file)
@@ -926,7 +926,9 @@ static int translate_table(struct net *net, const char *name,
                        return -ENOMEM;
                for_each_possible_cpu(i) {
                        newinfo->chainstack[i] =
-                         vmalloc(array_size(udc_cnt, sizeof(*(newinfo->chainstack[0]))));
+                         vmalloc_node(array_size(udc_cnt,
+                                         sizeof(*(newinfo->chainstack[0]))),
+                                      cpu_to_node(i));
                        if (!newinfo->chainstack[i]) {
                                while (i)
                                        vfree(newinfo->chainstack[--i]);