The pool->size_class[i] is assigned with the i from (zs_size_classes - 1) to 0. So if we failed in zs_create_pool(), we only need to iterate from (zs_size_classes - 1) to i, instead of from 0 to (zs_size_classes - 1)
Signed-off-by: Ganesh Mahendran <opensource.gan...@gmail.com> Cc: Nitin Gupta <ngu...@vflare.org> Cc: Minchan Kim <minc...@kernel.org> --- mm/zsmalloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 16617e9..e6fa3da 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -1433,12 +1433,12 @@ void zs_destroy_pool(struct zs_pool *pool) zs_pool_stat_destroy(pool); - for (i = 0; i < zs_size_classes; i++) { + for (i = zs_size_classes - 1; i >= 0; i--) { int fg; struct size_class *class = pool->size_class[i]; if (!class) - continue; + break; if (class->index != i) continue; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/