From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751350AbdAPHFX (ORCPT ); Mon, 16 Jan 2017 02:05:23 -0500 Received: from sender163-mail.zoho.com ([74.201.84.163]:21328 "EHLO sender163-mail.zoho.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750862AbdAPHFV (ORCPT ); Mon, 16 Jan 2017 02:05:21 -0500 From: Kyunghwan Kwon To: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kyunghwan Kwon Subject: [PATCH] slab: add a check for the first kmem_cache not to be destroyed Date: Mon, 16 Jan 2017 16:04:59 +0900 Message-Id: <20170116070459.43540-1-kwon@toanyone.net> X-Mailer: git-send-email 2.9.3 (Apple Git-75) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The first kmem_cache created at booting up is supposed neither mergeable nor destroyable but was possible to destroy. So prevent it. Signed-off-by: Kyunghwan Kwon --- mm/slab_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/slab_common.c b/mm/slab_common.c index 1dfc209..2d30ace 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -744,7 +744,7 @@ void kmem_cache_destroy(struct kmem_cache *s) bool need_rcu_barrier = false; int err; - if (unlikely(!s)) + if (unlikely(!s) || s->refcount == -1) return; get_online_cpus(); -- 2.9.3 (Apple Git-75)