]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
USB: core: fix check for duplicate endpoints
authorJohan Hovold <johan@kernel.org>
Thu, 19 Dec 2019 16:10:16 +0000 (17:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20191219161016.6695-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/config.c