Re: [RFC PATCH] type safe allocator
From: Andi Kleen
Date: Wed Aug 01 2007 - 05:50:38 EST
Miklos Szeredi <miklos@xxxxxxxxxx> writes:
> I wonder why we don't have type safe object allocators a-la new() in
> C++ or g_new() in glib?
>
> fooptr = k_new(struct foo, GFP_KERNEL);
>
> is nicer and more descriptive than
>
> fooptr = kmalloc(sizeof(*fooptr), GFP_KERNEL);
>
> and more safe than
>
> fooptr = kmalloc(sizeof(struct foo), GFP_KERNEL);
How is it more safe? It seems 100% equivalent to me,
just a different syntax.
>
> And we have zillions of both variants.
In my own non kernel code i tend to define a pascal style NEW()
#define NEW(p) ((p) = malloc(sizeof(*(p))))
But I'm not sure such a untraditional solution would too popular.
Also I don't think we have too many bugs in this area anyways; so
it might be better to concentrate on more fruitful areas.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/