Skip to contentSkip to conversation

Patch "zsmalloc: expand class bit" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Apr 18, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

zsmalloc: expand class bit

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
zsmalloc-expand-class-bit.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 85d492f28d056c40629fc25d79f54da618a29dc4 Mon Sep 17 00:00:00 2001

From: Minchan Kim <[email protected]>
Date: Thu, 13 Apr 2017 14:56:40 -0700
Subject: zsmalloc: expand class bit

From: Minchan Kim <[email protected]>

commit 85d492f28d056c40629fc25d79f54da618a29dc4 upstream.

Now 64K page system, zsamlloc has 257 classes so 8 class bit is not enough. With that, it corrupts the system when zsmalloc stores 65536byte data(ie, index number 256) so that this patch increases class bit for simple fix for stable backport. We should clean up this mess soon.

index size
0 32
1 288
..
..
204 52256
256 65536

Fixes 3783689a1 ("zsmalloc: introduce zspage structure")
Cc Sergey Senozhatsky <[email protected]>
---
 mm/zsmalloc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
mm/zsmalloc.c +1 -1
@@ -280,7 +280,7 @@ struct zs_pool {
 struct zspage {
 	struct {
 		unsigned int fullness:FULLNESS_BITS;
-		unsigned int class:CLASS_BITS;
+		unsigned int class:CLASS_BITS + 1;
 		unsigned int isolated:ISOLATED_BITS;
 		unsigned int magic:MAGIC_VAL_BITS;
 	};

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/zram-do-not-use-copy_page-with-non-page-aligned-address.patch queue-4.9/zram-fix-operator-precedence-to-get-offset.patch queue-4.9/thp-fix-madv_dontneed-vs.-madv_free-race.patch queue-4.9/zsmalloc-expand-class-bit.patch