Re: [PATCH v3] xfrm: Update ipcomp_scratches with NULL if not allocated

Herbert Xu
2022-09-01T04:19:14Z

On Thu, Sep 01, 2022 at 10:03:07AM +0600, Khalid Masum wrote:
>
> 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;
> }

Good catch! This is probably the root cause of all the crashes.

> 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;

This is unnecessary as with your first hunk, ipcomp_scratches
is guaranteed to be NULL.

Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt