Message ID | 20170225001415.21361-2-roderick@gaikai.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Feb 24 2017 or thereabouts, Roderick Colenbrander wrote: > From: Roderick Colenbrander <roderick.colenbrander@sony.com> > > 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. > > Fixes: ac797b95f532 ("HID: sony: Make the DS4 touchpad a separate device") > Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> > --- Looks good to me: Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > drivers/hid/hid-sony.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c > index f405b07..740996f 100644 > --- a/drivers/hid/hid-sony.c > +++ b/drivers/hid/hid-sony.c > @@ -2632,6 +2632,8 @@ static int sony_input_configured(struct hid_device *hdev, > 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); > -- > 2.9.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 24 Feb 2017, Roderick Colenbrander wrote: > From: Roderick Colenbrander <roderick.colenbrander@sony.com> > > 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. > > Fixes: ac797b95f532 ("HID: sony: Make the DS4 touchpad a separate device") > Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com> I've added -stable anotation and applied to for-4.11/upstream-fixes. Thanks,
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c index f405b07..740996f 100644 --- a/drivers/hid/hid-sony.c +++ b/drivers/hid/hid-sony.c @@ -2632,6 +2632,8 @@ static int sony_input_configured(struct hid_device *hdev, 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);