]> Pileus Git - ~andy/linux/blobdiff - net/xfrm/xfrm_ipcomp.c
xfrm: use vmalloc_node() for percpu scratches
[~andy/linux] / net / xfrm / xfrm_ipcomp.c
index 2906d520eea7c2b7636fc94f3a60f5131701f57d..b943c7fc5ed2d9289846cca35f01822a5d88c772 100644 (file)
@@ -220,8 +220,8 @@ static void ipcomp_free_scratches(void)
 
 static void * __percpu *ipcomp_alloc_scratches(void)
 {
-       int i;
        void * __percpu *scratches;
+       int i;
 
        if (ipcomp_scratch_users++)
                return ipcomp_scratches;
@@ -233,7 +233,9 @@ static void * __percpu *ipcomp_alloc_scratches(void)
        ipcomp_scratches = scratches;
 
        for_each_possible_cpu(i) {
-               void *scratch = vmalloc(IPCOMP_SCRATCH_SIZE);
+               void *scratch;
+
+               scratch = vmalloc_node(IPCOMP_SCRATCH_SIZE, cpu_to_node(i));
                if (!scratch)
                        return NULL;
                *per_cpu_ptr(scratches, i) = scratch;