From mboxrd@z Thu Jan 1 00:00:00 1970 In-reply-to: (message from Jan Engelhardt on Thu, 2 Aug 2007 14:24:44 +0200 (CEST)) Subject: Re: [PATCH] type safe allocator References: Message-Id: From: Miklos Szeredi Date: Thu, 02 Aug 2007 15:06:54 +0200 Sender: owner-linux-mm@kvack.org Return-Path: To: jengelh@computergmbh.de Cc: adobriyan@gmail.com, miklos@szeredi.hu, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, torvalds@linux-foundation.org List-ID: > 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. That's a _really_ good reason ;) > >> +/** > >> + * 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); And the compiler will complain like mad about that. Miklos -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org