android_kernel_xiaomi_sm8450/drivers/char
Michael S. Tsirkin 9b82d737d2 virtio_console: fix misc probe bugs
[ Upstream commit b9efbe2b8f0177fa97bfab290d60858900aa196b ]

This fixes the following issue discovered by code review:

after vqs have been created, a buggy device can send an interrupt.

A control vq callback will then try to schedule control_work which has
not been initialized yet. Similarly for config interrupt.  Further, in
and out vq callbacks invoke find_port_by_vq which attempts to take
ports_lock which also has not been initialized.

To fix, init all locks and work before creating vqs.

Message-ID: <ad982e975a6160ad110c623c016041311ca15b4f.1726511547.git.mst@redhat.com>
Fixes: 17634ba255 ("virtio: console: Add a new MULTIPORT feature, support for generic ports")
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-10-17 15:08:29 +02:00
..
agp parisc: sba: Fix compile warning wrt list of SBA devices 2023-10-10 21:53:32 +02:00
hw_random hwrng: cctrng - Add missing clk_disable_unprepare in cctrng_resume 2024-10-17 15:08:02 +02:00
ipmi ipmi_si: fix a memleak in try_smi_init() 2023-09-19 12:20:21 +02:00
mwave char/mwave: Adjust io port register size 2022-01-27 10:54:06 +01:00
pcmcia char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol() 2021-07-14 16:56:39 +02:00
tpm tpm: Clean up TPM space after command failure 2024-10-17 15:07:48 +02:00
xilinx_hwicap
xillybus
adi.c
apm-emulation.c
applicom.c
applicom.h
bsr.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
ds1620.c
dsp56k.c
dtlk.c
hangcheck-timer.c
hpet.c hpet: Support 32-bit userspace 2024-07-18 13:05:49 +02:00
Kconfig random: credit cpu and bootloader seeds by default 2022-06-22 14:13:15 +02:00
lp.c Merge 5.9-rc3 into char-misc-next 2020-08-31 07:17:17 +02:00
Makefile
mem.c random: restore O_NONBLOCK support 2022-10-15 07:55:54 +02:00
misc.c
mspec.c char: mspec: Use kvzalloc() in mspec_mmap() 2020-08-28 12:10:04 +02:00
nsc_gpio.c
nvram.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nwbutton.c
nwbutton.h
nwflash.c
pc8736x_gpio.c
powernv-op-panel.c
ppdev.c ppdev: Add an error check in register_device 2024-06-16 13:32:20 +02:00
ps3flash.c
random.c random: use expired timer rather than wq for mixing fast pool 2022-10-15 07:55:55 +02:00
raw.c raw: don't keep unopened block device around 2020-09-23 10:43:19 -06:00
scx200_gpio.c
sonypi.c
tb0219.c
tlclk.c
toshiba.c
ttyprintk.c ttyprintk: Add TTY hangup callback. 2021-05-14 09:50:21 +02:00
uv_mmtimer.c
virtio_console.c virtio_console: fix misc probe bugs 2024-10-17 15:08:29 +02:00