diff --git a/net/xfrm/xfrm_ipcomp.c b/net/xfrm/xfrm_ipcomp.c index cb40ff0ff28d..3774d07c5819 100644 --- a/net/xfrm/xfrm_ipcomp.c +++ b/net/xfrm/xfrm_ipcomp.c @@ -203,6 +203,7 @@ static void ipcomp_free_scratches(void) vfree(*per_cpu_ptr(scratches, i)); free_percpu(scratches); + ipcomp_scratches = NULL; } static void * __percpu *ipcomp_alloc_scratches(void) @@ -215,7 +216,7 @@ static void * __percpu *ipcomp_alloc_scratches(void) scratches = alloc_percpu(void *); if (!scratches) - return NULL; + return ipcomp_scratches = NULL; ipcomp_scratches = scratches;