On Wed, 15 Jan 2025 16:19:16 +0900 Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> 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") That way, anyone who backports 485d11509d6d into their earlier kernel will have a better chance of noticing that they need this fixup.