From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753231Ab2GPDEG (ORCPT ); Sun, 15 Jul 2012 23:04:06 -0400 Received: from g1t0029.austin.hp.com ([15.216.28.36]:4621 "EHLO g1t0029.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751723Ab2GPDEE (ORCPT ); Sun, 15 Jul 2012 23:04:04 -0400 Message-ID: <1342407840.3190.5.camel@lorien2> Subject: Re: [PATCH TRIVIAL] mm: Fix build warning in kmem_cache_create() From: Shuah Khan Reply-To: shuah.khan@hp.com To: Pekka Enberg Cc: David Rientjes , cl@linux.com, glommer@parallels.com, js1304@gmail.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, shuahkhan@gmail.com Date: Sun, 15 Jul 2012 21:04:00 -0600 In-Reply-To: References: <1342221125.17464.8.camel@lorien2> Organization: ISS-Linux Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 2012-07-14 at 15:01 +0300, Pekka Enberg wrote: > I'm not exactly loving that either. > > It'd probably be better to reshuffle the code so that the debug checks > end up in separate functions that are no-op for !CONFIG_DEBUG_VM. That > way the _labels_ are used unconditionally although there's no actual > code generated. I can work on reshuffling the code. Do have a question though. This following sanity check is currently done only when CONFIG_DEBUG_VM is defined. However, it does appear to be something that is that should be checked even in regular path. struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align, unsigned long flags, void (*ctor)(void *)) { struct kmem_cache *s = NULL; #ifdef CONFIG_DEBUG_VM if (!name || in_interrupt() || size < sizeof(void *) || size > KMALLOC_MAX_SIZE) { printk(KERN_ERR "kmem_cache_create(%s) integrity check" " failed\n", name); goto out; } #endif --- } Am I reading this right? Thanks, -- Shuah