lkml.org 
[lkml]   [2009]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 4/7] ring-buffer: check for less than two in size allocation
    From: Steven Rostedt <srostedt@redhat.com>

    The ring buffer must have at least two pages allocated for the
    reader page swap to work.

    The page count check will miss the case of a zero size passed in.
    Even though a zero size ring buffer would probably fail an allocation,
    making the min size check for less than two instead of equal to one makes
    the code a bit more robust.

    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    kernel/trace/ring_buffer.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
    index 162da23..2e99dba 100644
    --- a/kernel/trace/ring_buffer.c
    +++ b/kernel/trace/ring_buffer.c
    @@ -657,8 +657,8 @@ struct ring_buffer *__ring_buffer_alloc(unsigned long size, unsigned flags,
    buffer->reader_lock_key = key;

    /* need at least two pages */
    - if (buffer->pages == 1)
    - buffer->pages++;
    + if (buffer->pages < 2)
    + buffer->pages = 2;

    /*
    * In case of non-hotplug cpu, if the ring-buffer is allocated
    --
    1.6.3.1
    --


    \
     
     \ /
      Last update: 2009-06-18 01:29    [W:0.020 / U:1.264 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site