lkml.org 
[lkml]   [2011]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/3] flex_arrays: allow zero length flex arrays
    From
    Date
    On Mon, 2011-04-25 at 21:45 -0400, Eric Paris wrote:
    > Just like kmalloc will allow one to allocate a 0 length segment of memory
    > flex arrays should do the same thing. It should bomb if you try to use
    > something, but it should at least allow the allocation.
    >
    > Based-on-patch-by: Steffen Klassert <steffen.klassert@secunet.com>
    > Signed-off-by: Eric Paris <eparis@redhat.com>
    > ---
    >
    > lib/flex_array.c | 11 ++++++++++-
    > 1 files changed, 10 insertions(+), 1 deletions(-)
    >
    > diff --git a/lib/flex_array.c b/lib/flex_array.c
    > index 0c33b24..2554a5f 100644
    > --- a/lib/flex_array.c
    > +++ b/lib/flex_array.c
    > @@ -253,9 +253,16 @@ int flex_array_prealloc(struct flex_array *fa, unsigned int start,
    > unsigned int end;
    > struct flex_array_part *part;
    >
    > + if (!fa->total_nr_elements && !start)
    > + return 0;

    I guess it works either way, but I'd say that checking for a zero 'len'
    prealloc would be more important (and meaningful) than checking a zero
    'start'.

    If someone passed start=0 and len=44 for a fa->total_nr_elements=0
    array, I'd expect -ENOSPC, but this would return 0.

    -- Dave



    \
     
     \ /
      Last update: 2011-04-26 22:41    [W:3.981 / U:0.092 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site