lkml.org 
[lkml]   [2005]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[git pull 10/14] Uinput: dont use "interruptible" in FF code
    Input: uinput - don't use "interruptible" in FF code

    If thread that submitted FF request gets interrupted somehow it
    will release request structure and ioctl handler will work with
    freed memory. TO prevent that from happening switch to using
    wait_for_completion instead of wait_for_completion_interruptible.

    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
    ---

    drivers/input/misc/uinput.c | 11 +++--------
    1 files changed, 3 insertions(+), 8 deletions(-)

    Index: work/drivers/input/misc/uinput.c
    ===================================================================
    --- work.orig/drivers/input/misc/uinput.c
    +++ work/drivers/input/misc/uinput.c
    @@ -92,24 +92,19 @@ static void uinput_request_done(struct u
    {
    /* Mark slot as available */
    udev->requests[request->id] = NULL;
    - wake_up_interruptible(&udev->requests_waitq);
    + wake_up(&udev->requests_waitq);

    complete(&request->done);
    }

    static int uinput_request_submit(struct input_dev *dev, struct uinput_request *request)
    {
    - int retval;
    -
    /* Tell our userspace app about this new request by queueing an input event */
    uinput_dev_event(dev, EV_UINPUT, request->code, request->id);

    /* Wait for the request to complete */
    - retval = wait_for_completion_interruptible(&request->done);
    - if (!retval)
    - retval = request->retval;
    -
    - return retval;
    + wait_for_completion(&request->done);
    + return request->retval;
    }

    static int uinput_dev_upload_effect(struct input_dev *dev, struct ff_effect *effect)
    -
    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-11-20 08:08    [W:0.022 / U:1.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site