]> Git Repo - linux.git/commit
USB: core: fix check for duplicate endpoints
authorJohan Hovold <[email protected]>
Thu, 19 Dec 2019 16:10:16 +0000 (17:10 +0100)
committerGreg Kroah-Hartman <[email protected]>
Mon, 30 Dec 2019 18:54:55 +0000 (19:54 +0100)
commit3e4f8e21c4f27bcf30a48486b9dcc269512b79ff
treeb76941c5ecbea957d5f6ac61a6945d199457d08c
parent46cf053efec6a3a5f343fead837777efe8252a46
USB: core: fix check for duplicate endpoints

Amend the endpoint-descriptor sanity checks to detect all duplicate
endpoint addresses in a configuration.

Commit 0a8fd1346254 ("USB: fix problems with duplicate endpoint
addresses") added a check for duplicate endpoint addresses within a
single alternate setting, but did not look for duplicate addresses in
other interfaces.

The current check would also not detect all duplicate addresses when one
endpoint is as a (bi-directional) control endpoint.

This specifically avoids overwriting the endpoint entries in struct
usb_device when enabling a duplicate endpoint, something which could
potentially lead to crashes or leaks, for example, when endpoints are
later disabled.

Cc: stable <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Acked-by: Alan Stern <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
drivers/usb/core/config.c
This page took 0.056198 seconds and 4 git commands to generate.