If the scratch allocation fails, all subsequent allocations will
silently succeed without actually allocating anything.  Fix this
by only incrementing users when the allocation succeeds.
Fixes: 6a8487a1f29f ("crypto: scompress - defer allocation of scratch buffer to first use")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                if (ret)
                        goto unlock;
        }
-       if (!scomp_scratch_users++)
+       if (!scomp_scratch_users) {
                ret = crypto_scomp_alloc_scratches();
+               if (ret)
+                       goto unlock;
+               scomp_scratch_users++;
+       }
 unlock:
        mutex_unlock(&scomp_lock);