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

Pekka J Enberg
2005-09-20T09:47:45Z

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@novell.com> 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