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

From: Kanchana P. Sridhar

Date: Tue Mar 31 2026 - 17:03:49 EST


On Tue, Mar 31, 2026 at 12:23 PM Yosry Ahmed <yosry@xxxxxxxxxx> wrote:
>
> 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.

That's good to know, thanks for confirming Yosry!