Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756117AbXHBMYy (ORCPT ); Thu, 2 Aug 2007 08:24:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754406AbXHBMYp (ORCPT ); Thu, 2 Aug 2007 08:24:45 -0400 Received: from sovereign.computergmbh.de ([85.214.69.204]:36064 "EHLO sovereign.computergmbh.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754056AbXHBMYp (ORCPT ); Thu, 2 Aug 2007 08:24:45 -0400 Date: Thu, 2 Aug 2007 14:24:44 +0200 (CEST) From: Jan Engelhardt To: Alexey Dobriyan cc: Miklos Szeredi , akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, torvalds@linux-foundation.org Subject: Re: [PATCH] type safe allocator In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1003 Lines: 35 On Aug 2 2007 16:04, Alexey Dobriyan wrote: >On 8/2/07, Miklos Szeredi wrote: >> fooptr = kmalloc(sizeof(struct foo), ...); > >Key word is "traditional". Good traditional form which even half-competent >C programmers immediately parse in retina. And being aware of the potential type-unsafety makes programmers more careful IMHO. > >> +/** >> + * alloc_struct - allocate given type object >> + * @type: the type of the object to allocate >> + * @flags: the type of memory to allocate. >> + */ >> +#define alloc_struct(type, flags) ((type *) kmalloc(sizeof(type), flags)) >someone will write alloc_struct(int, GFP_KERNEL), I promise. and someone else will write struct complexthing foo; alloc_struct(foo, GFP_KERNEL); Jan -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/