Re: [PATCH] zram: remove zcomp_stream_put() from write_incompressible_page()

From: Sergey Senozhatsky
Date: Wed Jan 15 2025 - 19:38:03 EST


On (25/01/15 15:28), Andrew Morton wrote:
> > We cannot and should not put per-CPU compression stream in
> > write_incompressible_page() because that function never gets any
> > per-CPU streams in the first place. It's zram_write_page() that
> > puts the stream before it calls write_incompressible_page().
> >
> > ...
> >
> > +++ b/drivers/block/zram/zram_drv.c
> > @@ -1683,7 +1683,6 @@ static int write_incompressible_page(struct zram *zram, struct page *page,
> > return PTR_ERR((void *)handle);
> >
> > if (!zram_can_store_page(zram)) {
> > - zcomp_stream_put(zram->comps[ZRAM_PRIMARY_COMP]);
> > zs_free(zram->mem_pool, handle);
> > return -ENOMEM;
> > }
>
> I added
>
> Fixes: 485d11509d6d ("zram: factor out ZRAM_HUGE write")

Thanks.

> That way, anyone who backports 485d11509d6d into their earlier kernel
> will have a better chance of noticing that they need this fixup.

Agreed.