lkml.org 
[lkml]   [2017]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.10 025/111] HID: sony: Fix input device leak when connecting a DS4 twice using USB/BT
    Date
    4.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Roderick Colenbrander <roderick.colenbrander@sony.com>

    commit a687c5765b5ae19fe559e14615ddc87ebb46d409 upstream.

    When a user connects a DS4 twice using USB and BT, we reject the
    second device connection after the setup work. We then perform
    a cleanup, but during cleanup we are not removing the touchpad
    device. This leads to leakage of an input device, which we would
    never remove. It can likely result into a kernel oops as well
    when the touchpad evdev node is accessed and the underlaying HID
    device has been removed from the system.

    [jkosina@suse.cz: added stable annotation]
    Fixes: ac797b95f532 ("HID: sony: Make the DS4 touchpad a separate device")
    Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/hid/hid-sony.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/hid/hid-sony.c
    +++ b/drivers/hid/hid-sony.c
    @@ -2632,6 +2632,8 @@ err_stop:
    sony_leds_remove(sc);
    if (sc->quirks & SONY_BATTERY_SUPPORT)
    sony_battery_remove(sc);
    + if (sc->touchpad)
    + sony_unregister_touchpad(sc);
    sony_cancel_work_sync(sc);
    kfree(sc->output_report_dmabuf);
    sony_remove_dev_list(sc);

    \
     
     \ /
      Last update: 2017-03-28 14:42    [W:4.145 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site