Re: [PATCH v3 0/2] zswap pool per-CPU acomp_ctx simplifications

From: Yosry Ahmed

Date: Tue Mar 31 2026 - 15:24:01 EST


On Tue, Mar 31, 2026 at 11:34 AM Kanchana P. Sridhar
<kanchanapsridhar2026@xxxxxxxxx> wrote:
>
> This patchset first removes redundant checks on the acomp_ctx and its
> "req" member in zswap_cpu_comp_dead().
>
> Next, it persists the zswap pool's per-CPU acomp_ctx resources to
> last until the pool is destroyed. It then simplifies the per-CPU
> acomp_ctx mutex locking in zswap_compress()/zswap_decompress().
>
> Code comments added after allocation and before checking to deallocate
> the per-CPU acomp_ctx's members, based on expected crypto API return
> values and zswap changes this patchset makes.
>
> Patch 2 is an independent submission of patch 23 from [1], to
> facilitate merging.
>
> [1]: https://patchwork.kernel.org/project/linux-mm/list/?series=1046677
>
> Changes since v2:
> =================
> 1) Rebased to mm-unstable as of 3-31-2026 (commit 24e341657c28).
> 2) Collected Acks.
>
> Changes since v1:
> =================
> 1) Made the changes to eliminate redundant checks on
> acomp_ctx/acomp_ctx->req in zswap_cpu_comp_dead(), per Yosry.
> 2) Renamed acomp_ctx_dealloc() to acomp_ctx_free(), per Yosry.
> 3) Incorporated suggestions from Yosry and Sashiko to reset the
> acomp_ctx's members to NULL after freeing them, to prevent UAF and
> double free issues.
> 4) Replaced v1's patch 2 with v2's patch 1.
>
>
> Kanchana P. Sridhar (2):
> mm: zswap: Remove redundant checks in zswap_cpu_comp_dead().
> mm: zswap: Tie per-CPU acomp_ctx lifetime to the pool.

Sashiko was able to apply the patches and doesn't seem to find any
regressions: https://sashiko.dev/#/patchset/20260331183351.29844-1-kanchanapsridhar2026%40gmail.com.