diff --git a/net/xfrm/xfrm_ipcomp.c b/net/xfrm/xfrm_ipcomp.c index cb40ff0ff28d..af9097983139 100644 --- a/net/xfrm/xfrm_ipcomp.c +++ b/net/xfrm/xfrm_ipcomp.c @@ -210,13 +210,15 @@ static void * __percpu *ipcomp_alloc_scratches(void) void * __percpu *scratches; int i; - if (ipcomp_scratch_users++) + if (ipcomp_scratch_users) { + ipcomp_scratch_users++; return ipcomp_scratches; - + } scratches = alloc_percpu(void *); if (!scratches) return NULL; + ipcomp_scratch_users++; ipcomp_scratches = scratches; for_each_possible_cpu(i) {