Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 644d4787 authored by Sergey Senozhatsky's avatar Sergey Senozhatsky Committed by Greg Kroah-Hartman
Browse files

staging: zram: protect zram_reset_device() call



Commit 9b3bb7ab (remove
zram_sysfs file (v2)) accidentally made zram_reset_device()
racy. Protect zram_reset_device() call with zram->lock.

Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
Acked-by: default avatarJerome Marchand <jmarchand@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f2a6fed1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -527,8 +527,11 @@ static void zram_reset_device(struct zram *zram)
	size_t index;
	struct zram_meta *meta;

	if (!zram->init_done)
	down_write(&zram->init_lock);
	if (!zram->init_done) {
		up_write(&zram->init_lock);
		return;
	}

	meta = zram->meta;
	zram->init_done = 0;
@@ -549,6 +552,7 @@ static void zram_reset_device(struct zram *zram)

	zram->disksize = 0;
	set_capacity(zram->disk, 0);
	up_write(&zram->init_lock);
}

static void zram_init_device(struct zram *zram, struct zram_meta *meta)