lkml.org 
[lkml]   [2005]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: p = kmalloc(sizeof(*p), )
    On Tue, Sep 20, 2005 at 12:47:32PM +0300, Pekka J Enberg wrote:
    > 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.

    "grep for kmallocs that do not have _either_ form and look for bugs among
    them" is hardly usable as an argument in favour of one of them...
    -
    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/

    \
     
     \ /
      Last update: 2005-09-20 11:56    [W:0.020 / U:1.660 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site