The source for the Linux kernel used in Windows Subsystem for Linux 2 (WSL2)
Перейти к файлу
Alan Stern 45bf39f8df USB: core: Don't hold device lock while reading the "descriptors" sysfs file
Ever since commit 83e83ecb79 ("usb: core: get config and string
descriptors for unauthorized devices") was merged in 2013, there has
been no mechanism for reallocating the rawdescriptors buffers in
struct usb_device after the initial enumeration.  Before that commit,
the buffers would be deallocated when a device was deauthorized and
reallocated when it was authorized and enumerated.

This means that the locking in the read_descriptors() routine is not
needed, since the buffers it reads will never be reallocated while the
routine is running.  This locking can interfere with user programs
trying to read a hub's descriptors via sysfs while new child devices
of the hub are being initialized, since the hub is locked during this
procedure.

Since the locking in read_descriptors() hasn't been needed for over
nine years, we can remove it.

Reported-and-tested-by: Troels Liebe Bentsen <troels@connectedcars.dk>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: stable@vger.kernel.org
Link: https://lore.kernel.org/r/Y9l+wDTRbuZABzsE@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-31 21:54:35 +01:00
Documentation dt-bindings: usb: mediatek,mtk-xhci: add MT8365 SoC bindings 2023-01-31 10:40:31 +01:00
LICENSES
arch Merge 6.2-rc5 into usb-next 2023-01-23 15:38:08 +01:00
block block-6.2-2023-01-20 2023-01-20 12:44:41 -08:00
certs
crypto
drivers USB: core: Don't hold device lock while reading the "descriptors" sysfs file 2023-01-31 21:54:35 +01:00
fs ext4: deal with legacy signed xattr name hash values 2023-01-21 10:14:47 -08:00
include usb: gadget: Use correct APIs and data types for UUID handling 2023-01-31 10:37:29 +01:00
init Kbuild fixes for v6.2 (3rd) 2023-01-21 10:56:37 -08:00
io_uring io_uring/poll: don't reissue in case of poll race on multishot request 2023-01-20 15:11:54 -07:00
ipc
kernel Driver core fixes for 6.2-rc5 2023-01-21 11:17:23 -08:00
lib v6.2 second rc pull request 2023-01-20 14:15:51 -08:00
mm slab fixes for 6.2-rc5 2023-01-19 12:24:39 -08:00
net tcp: fix rate_app_limited to default to 1 2023-01-20 13:23:35 +00:00
rust
samples
scripts Kbuild fixes for v6.2 (3rd) 2023-01-21 10:56:37 -08:00
security tomoyo: Update website link 2023-01-13 23:11:38 +09:00
sound sound fixes for 6.2-rc4 2023-01-13 08:20:29 -06:00
tools linux-kselftest-fixes-6.2-rc5 2023-01-20 11:35:21 -08:00
usr
virt KVM: Ensure lockdep knows about kvm->lock vs. vcpu->mutex ordering rule 2023-01-11 13:32:21 -05:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore .gitignore: ignore *.rpm 2022-12-30 17:22:14 +09:00
.mailmap 21 hotfixes. Thirteen of these address pre-6.1 issues and hence have 2023-01-16 16:36:39 -08:00
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge 6.2-rc5 into usb-next 2023-01-23 15:38:08 +01:00
Makefile Linux 6.2-rc5 2023-01-21 16:27:01 -08:00
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.