No description
Find a file
Arkadiusz Bokowy ae40f2c3f3 Bluetooth: vhci: Fix race when opening vhci device
commit 92d4abd66f upstream.

When the vhci device is opened in the two-step way, i.e.: open device
then write a vendor packet with requested controller type, the device
shall respond with a vendor packet which includes HCI index of created
interface.

When the virtual HCI is created, the host sends a reset request to the
controller. This request is processed by the vhci_send_frame() function.
However, this request is send by a different thread, so it might happen
that this HCI request will be received before the vendor response is
queued in the read queue. This results in the HCI vendor response and
HCI reset request inversion in the read queue which leads to improper
behavior of btvirt:

> dmesg
[1754256.640122] Bluetooth: MGMT ver 1.22
[1754263.023806] Bluetooth: MGMT ver 1.22
[1754265.043775] Bluetooth: hci1: Opcode 0x c03 failed: -110

In order to synchronize vhci two-step open/setup process with virtual
HCI initialization, this patch adds internal lock when queuing data in
the vhci_send_frame() function.

Signed-off-by: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-10-25 11:13:31 +02:00
arch x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs 2023-10-25 11:13:31 +02:00
block
certs
crypto X.509: if signature is unsupported skip validation 2023-09-23 10:47:01 +02:00
Documentation Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group 2023-08-11 11:33:53 +02:00
drivers Bluetooth: vhci: Fix race when opening vhci device 2023-10-25 11:13:31 +02:00
firmware
fs ceph: fix incorrect revoked caps assert in ceph_fill_file_size() 2023-10-25 11:13:30 +02:00
include mcb: remove is_added flag from mcb_device struct 2023-10-25 11:13:30 +02:00
init init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init() 2023-08-08 19:48:24 +02:00
ipc
kernel cgroup: Remove duplicates in cgroup v1 tasks file 2023-10-25 11:13:30 +02:00
lib kobject: Add sanity check for kset->kobj.ktype in kset_register() 2023-09-23 10:47:05 +02:00
mm treewide: Remove uninitialized_var() usage 2023-08-11 11:33:32 +02:00
net Bluetooth: Fix a refcnt underflow problem for hci_conn 2023-10-25 11:13:31 +02:00
samples
scripts modpost: add missing else to the "of" check 2023-10-10 21:43:41 +02:00
security smackfs: Prevent underflow in smk_set_cipso() 2023-09-23 10:46:56 +02:00
sound ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl 2023-09-23 10:46:59 +02:00
tools cpupower: add Makefile dependencies for install targets 2023-10-10 21:43:41 +02:00
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 4.14.327 2023-10-10 21:43:42 +02:00
README

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

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

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.