e36db925a5
BugLink: https://bugs.launchpad.net/bugs/2060704 The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping lock on PREEMPT_RT and it can not be acquired in this context. In this locked section, zs_free() acquires a zs_pool::lock, and there is access to zram::wb_limit_lock. Use a spinlock_t on PREEMPT_RT for locking and set/ clear ZRAM_LOCK bit after the lock has been acquired/ dropped. Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Link: https://lkml.kernel.org/r/YqIbMuHCPiQk+Ac2@linutronix.de Link: https://lore.kernel.org/20230323161830.jFbWCosd@linutronix.de Signed-off-by: Kevin Becker <kevin.becker@canonical.com>