On (25/02/03 16:11), Sergey Senozhatsky wrote: > I guess where we actually need zram entry lock is writeback and > recompression. Writeback moves object from zsmalloc pool to actual > physical storage, freeing zsmalloc memory after that and setting > zram entry[index] handle to the backikng device's block idx, which > needs synchronization. Recompression does a similar thing, it frees > the old zsmalloc handle and stores recompressed objects under new > zsmalloc handle, it thus updates zram entry[index] handle to point > to the new location, which needs to be synchronized. ... Luckily there is a trivial solution --- diff --git a/drivers/block/zram/Kconfig b/drivers/block/zram/Kconfig index 402b7b175863..dd7c5ae91cc0 100644 --- a/drivers/block/zram/Kconfig +++ b/drivers/block/zram/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 config ZRAM tristate "Compressed RAM block device support" - depends on BLOCK && SYSFS && MMU + depends on BLOCK && SYSFS && MMU && !PREEMPT select ZSMALLOC help Creates virtual block devices called /dev/zramX (X = 0, 1, ...).