mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-08 18:57:22 +00:00
zram_read_page() picks the sync or async backing device read path based on whether the parent bio is NULL. zram_bvec_write_partial() passes its parent bio down, so for ZRAM_WB slots the read is dispatched asynchronously and zram_read_page() returns 0 while the bio is still in flight. The caller then runs memcpy_from_bvec(), zram_write_page() and __free_page() on the buffer, leaving the async read to write into a freed page. zram_bvec_read_partial() was switched to NULL in commit |
History
|
|
|---|---|---|
| .. | ||
| backend_842.c | ||
| backend_842.h | ||
| backend_deflate.c | ||
| backend_deflate.h | ||
| backend_lz4.c | ||
| backend_lz4.h | ||
| backend_lz4hc.c | ||
| backend_lz4hc.h | ||
| backend_lzo.c | ||
| backend_lzo.h | ||
| backend_lzorle.c | ||
| backend_lzorle.h | ||
| backend_zstd.c | ||
| backend_zstd.h | ||
| Kconfig | ||
| Makefile | ||
| zcomp.c | ||
| zcomp.h | ||
| zram_drv.c | ||
| zram_drv.h | ||