Re: p = kmalloc(sizeof(*p), )

From: Pekka J Enberg
Date: Tue Sep 20 2005 - 04:48:19 EST


On Tue, 20 Sep 2005, Al Viro wrote:

> On Tue, Sep 20, 2005 at 11:53:42AM +0300, Pekka Enberg wrote:
> > On 9/18/05, Robert Love <rml@xxxxxxxxxx> wrote:
> > > 5. Contrary to the above statement, such coding style does not help,
> > > but in fact hurts, readability. How on Earth is sizeof(*p) more
> > > readable and information-rich than sizeof(struct foo)? It looks
> > > like the remains of a 5,000 year old wolverine's spleen and
> > > conveys no information about the type of the object that is being
> > > created.
> >
> > Yes it does. The semantics are clearly "I want enough memory to hold
> > the type this pointer points to." While sizeof(struct foo) might seem
> > more readable, it is in fact not as you have no way of knowing whether
> > the allocation is correct or not by looking at the line. So for
> > spotting allocation errors with grep, the shorter form is better (and
> > arguably less error-prone).
>
> Huh??? How do you use grep to find something of that sort?

To find candidates, something like:

grep "kmalloc(sizeof([^*]" -r drivers/ | grep -v "sizeof(struct"

And then use my eyes to find real bugs.

Pekka
-
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/