[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180809135356.4070-1-zhouxianrong@tom.com>
Date: Thu, 9 Aug 2018 09:53:56 -0400
From: zhouxianrong <zhouxianrong@....com>
To: linux-mm@...ck.org
Cc: linux-kernel@...r.kernel.org, minchan@...nel.org,
ngupta@...are.org, sergey.senozhatsky.work@...il.com,
zhouxianrong@....com
Subject: [PATCH] zsmalloc: fix linking bug in init_zspage
The last partial object in last subpage of zspage should not be linked
in allocation list.
Signed-off-by: zhouxianrong <zhouxianrong@....com>
---
mm/zsmalloc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 8d87e973a4f5..24dd8da0aa59 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -1040,6 +1040,8 @@ static void init_zspage(struct size_class *class, struct zspage *zspage)
* Reset OBJ_TAG_BITS bit to last link to tell
* whether it's allocated object or not.
*/
+ if (off > PAGE_SIZE)
+ link -= class->size / sizeof(*link);
link->next = -1UL << OBJ_TAG_BITS;
}
kunmap_atomic(vaddr);
--
2.13.6
Powered by blists - more mailing lists