lkml.org 
[lkml]   [2011]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch] epoll-fix-compiler-warning-and-optimize-the-non-blocking-path-fix
    The non-blocking ep_poll path optimization introduced skipping over
    the return value setup.

    Initialize it properly, my userspace gets upset by epoll_wait()
    returning random things.

    In addition, remove the reinitialization at the fetch_events label,
    the return value is garuanteed to be zero when execution reaches
    there.

    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Shawn Bohrer <shawn.bohrer@gmail.com>
    Cc: Davide Libenzi <davidel@xmailserver.org>
    ---
    fs/eventpoll.c | 3 +--
    1 files changed, 1 insertions(+), 2 deletions(-)

    diff --git a/fs/eventpoll.c b/fs/eventpoll.c
    index f7cb6cb..afe4238 100644
    --- a/fs/eventpoll.c
    +++ b/fs/eventpoll.c
    @@ -1147,7 +1147,7 @@ static int ep_send_events(struct eventpoll *ep,
    static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events,
    int maxevents, long timeout)
    {
    - int res, eavail, timed_out = 0;
    + int res = 0, eavail, timed_out = 0;
    unsigned long flags;
    long slack = 0;
    wait_queue_t wait;
    @@ -1173,7 +1173,6 @@ static int ep_poll(struct eventpoll *ep, struct epoll_event __user *events,
    fetch_events:
    spin_lock_irqsave(&ep->lock, flags);

    - res = 0;
    if (!ep_events_available(ep)) {
    /*
    * We don't have any available event to return to the caller.
    --
    1.7.3.5

    \
     
     \ /
      Last update: 2011-01-26 11:23    [W:0.021 / U:0.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site