Messages in this thread | | | Subject | Re: [PATCH] type safe allocator | From | Bernd Petrovitsch <> | Date | Thu, 02 Aug 2007 16:06:45 +0200 |
| |
On Thu, 2007-08-02 at 15:47 +0200, Peter Zijlstra wrote: > On Thu, 2007-08-02 at 16:04 +0400, Alexey Dobriyan wrote: > > On 8/2/07, Miklos Szeredi <miklos@szeredi.hu> wrote: > > > The linux kernel doesn't have a type safe object allocator a-la new() > > > in C++ or g_new() in glib. > > > > > > Introduce two helpers for this purpose: > > > > > > alloc_struct(type, gfp_flags); > > > > > > zalloc_struct(type, gfp_flags); > > > > ick. > > > > > These macros take a type name (usually a 'struct foo') as first > > > argument > > > > So one has to type struct twice. > > thrice in some cases like alloc_struct(struct task_struct, GFP_KERNEL)
Save the explicit "struct" and put it into the macro (and force people to not use typedefs).
#define alloc_struct(type, flags) ((type *)kmalloc(sizeof(struct type), (flags)))
Obious drawback: We may need alloc_union().
SCNR ... Bernd -- Firmix Software GmbH http://www.firmix.at/ mobil: +43 664 4416156 fax: +43 1 7890849-55 Embedded Linux Development and Services
- 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/
| |