linux/drivers
Yoshihiro Shimoda 9870257a0a ravb: Fix races between ravb_tx_timeout_work() and net related ops
Fix races between ravb_tx_timeout_work() and functions of net_device_ops
and ethtool_ops by using rtnl_trylock() and rtnl_unlock(). Note that
since ravb_close() is under the rtnl lock and calls cancel_work_sync(),
ravb_tx_timeout_work() should calls rtnl_trylock(). Otherwise, a deadlock
may happen in ravb_tx_timeout_work() like below:

CPU0			CPU1
			ravb_tx_timeout()
			schedule_work()
...
__dev_close_many()
// Under rtnl lock
ravb_close()
cancel_work_sync()
// Waiting
			ravb_tx_timeout_work()
			rtnl_lock()
			// This is possible to cause a deadlock

If rtnl_trylock() fails, rescheduling the work with sleep for 1 msec.

Fixes: c156633f13 ("Renesas Ethernet AVB driver proper")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Link: https://lore.kernel.org/r/20231127122420.3706751-1-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-11-28 19:54:24 -08:00
..
accel accel/ivpu: avoid build failure with CONFIG_PM=n 2023-11-15 11:03:49 +01:00
accessibility
acpi RISC-V Patches for the 6.7 Merge Window, Part 1 2023-11-08 09:21:18 -08:00
amba
android Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
ata ata: pata_gayle: Convert to platform remove callback returning void 2023-11-08 09:00:49 +09:00
atm pci-v6.7-changes 2023-11-02 14:05:18 -10:00
auxdisplay
base regmap: Fix for v6.7 2023-11-07 16:56:10 -08:00
bcma
block nbd: fix uaf in nbd_open 2023-11-07 08:14:57 -07:00
bluetooth Bluetooth: btmtksdio: enable bluetooth wakeup in system suspend 2023-10-23 11:04:51 -07:00
bus SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
cache riscv: RISCV_NONSTANDARD_CACHE_OPS shouldn't depend on RISCV_DMA_NONCOHERENT 2023-10-26 09:42:37 +02:00
cdrom
cdx Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
char Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
clk SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
clocksource RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
comedi
connector Fix NULL pointer dereference in cn_filter() 2023-10-24 10:53:45 +02:00
counter
cpufreq Merge branch 'pm-cpufreq' 2023-11-07 20:45:12 +01:00
cpuidle
crypto crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
cxl cxl/pci: Change CXL AER support check to use native AER 2023-11-02 14:09:01 -07:00
dax Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
dca
devfreq
dio
dma dmaengine updates for v6.7 2023-11-03 18:56:51 -10:00
dma-buf As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
dpll dpll: Fix potential msg memleak when genlmsg_put_reply failed 2023-11-21 17:41:20 -08:00
edac hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
eisa
extcon
firewire firewire: Annotate struct fw_node with __counted_by 2023-11-05 21:15:17 +09:00
firmware vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
fpga Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
fsi
gnss
gpio pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
gpu drm-fixes for -rc2 2023-11-17 13:58:26 -08:00
greybus greybus: Add BeaglePlay Linux Driver 2023-10-27 13:19:04 +02:00
hid Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
hsi
hte hte: Changes for v6.7-rc1 2023-10-31 18:32:51 -10:00
hv TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
hwmon hwmon updates for v6.7-rc1 2023-10-31 17:44:17 -10:00
hwspinlock
hwtracing
i2c i2c: ocores: Move system PM hooks to the NOIRQ phase 2023-11-13 12:43:42 -05:00
i3c I3C for 6.7 2023-11-04 16:25:36 -10:00
idle
iio Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
infiniband RDMA for v6.7 2023-11-02 15:20:30 -10:00
input Input updates for 6.7 merge window: 2023-11-09 14:18:42 -08:00
interconnect
iommu IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
ipack
irqchip - Flush the translation service tables to prevent unpredictable behavior 2023-11-19 13:49:32 -08:00
isdn hardening updates for v6.7-rc1 2023-10-30 19:09:55 -10:00
leds pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
macintosh powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
mailbox Moving repo 2023-11-05 18:45:32 -08:00
mcb mcb: fix error handling for different scenarios when parsing 2023-10-21 23:04:02 +02:00
md dm-crypt: start allocating with MAX_ORDER 2023-11-17 14:41:15 -05:00
media media updates for v6.7-rc1 2023-11-06 15:06:06 -08:00
memory IOMMU Updates for Linux v6.7 2023-11-09 13:37:28 -08:00
memstick
message scsi: message: fusion: Initialize return value in mptfc_bus_reset() 2023-10-24 22:36:39 -04:00
mfd - Core Frameworks 2023-11-02 14:40:51 -10:00
misc RISC-V Patches for the 6.7 Merge Window, Part 1 2023-11-08 09:21:18 -08:00
mmc mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER 2023-11-07 13:08:12 +01:00
most
mtd - removed AR7 platform support 2023-11-10 09:19:46 -08:00
mux
net ravb: Fix races between ravb_tx_timeout_work() and net related ops 2023-11-28 19:54:24 -08:00
nfc nfc: virtual_ncidev: Add variable to check if ndev is running 2023-11-22 10:55:48 +00:00
ntb
nubus
nvdimm
nvme nvme: keyring: fix conditional compilation 2023-11-08 08:07:08 -08:00
nvmem Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
of RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
opp
parisc parisc/power: Fix power soft-off when running on qemu 2023-11-18 18:59:30 +01:00
parport parport: gsc: mark init function static 2023-11-10 08:41:23 +01:00
pci cxl for v6.7 2023-11-04 16:20:36 -10:00
pcmcia PCMCIA odd cleanups and fixes for v6.7-rc1 2023-11-07 16:40:42 -08:00
peci
perf arm64 fixes: 2023-11-10 12:22:14 -08:00
phy phy-for-6.6 2023-11-03 19:06:12 -10:00
pinctrl pinctrl: nuvoton: npcm8xx: drop wrappers around pinctrl_gpio_request/free() 2023-11-04 10:23:23 +01:00
platform platform/x86: intel_telemetry: Fix kernel doc descriptions 2023-11-21 10:09:04 +02:00
pmdomain SoC driver updates for 6.7 2023-11-01 14:46:51 -10:00
pnp PNP: replace deprecated strncpy() with memcpy() 2023-10-20 19:50:40 +02:00
power USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
powercap powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() 2023-10-24 22:07:07 +02:00
pps
ps3
ptp ptp: annotate data-race around q->head and q->tail 2023-11-13 20:51:37 -08:00
pwm pwm: samsung: Fix a bit test in pwm_samsung_resume() 2023-11-10 09:20:48 +01:00
rapidio
ras
regulator regulator: Merge up pending fix 2023-10-30 13:14:27 +00:00
remoteproc
reset reset: Annotate struct reset_control_array with __counted_by 2023-10-24 14:10:04 -07:00
rpmsg rpmsg: virtio: Replace deprecated strncpy with strscpy/_pad 2023-10-23 13:11:07 -06:00
rtc RTC for 6.7 2023-11-05 18:49:40 -08:00
s390 s390/ism: ism driver implies smc protocol 2023-11-17 00:31:00 +00:00
sbus
scsi Merge branch '6.7/scsi-staging' into 6.7/scsi-fixes 2023-11-14 11:40:40 -05:00
sh sh: Remove superhyway bus support 2023-10-25 16:50:11 +02:00
siox
slimbus
soc powerpc updates for 6.7 2023-11-03 10:07:39 -10:00
soundwire soundwire updates for 6.7 2023-11-03 19:10:41 -10:00
spi spi: Fixes for v6.7 2023-11-10 11:44:38 -08:00
spmi spmi: rename spmi device lookup helper 2023-11-01 10:02:18 +00:00
ssb
staging pwm: Changes for v6.7-rc1 2023-11-09 13:47:52 -08:00
target SCSI misc on 20231102 2023-11-02 15:13:50 -10:00
tc
tee
thermal Thermal control updates for 6.7-rc1 2023-10-31 15:28:37 -10:00
thunderbolt USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
tty - removed AR7 platform support 2023-11-10 09:19:46 -08:00
ufs Merge branch '6.7/scsi-staging' into 6.7/scsi-fixes 2023-11-14 11:40:40 -05:00
uio
usb USB/Thunderbolt changes for 6.7-rc1 2023-11-03 16:00:42 -10:00
vdpa vdpa_sim_blk: allocate the buffer zeroed 2023-11-01 09:31:16 -04:00
vfio Char/Misc and other driver changes for 6.7-rc1 2023-11-03 14:51:08 -10:00
vhost vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
video fbdev: fsl-diu-fb: mark wr_reg_wa() static 2023-11-10 09:16:02 +01:00
virt configfs-tsm for v6.7 2023-11-04 15:58:13 -10:00
virtio vhost,virtio,vdpa,firmware: bugfixes 2023-11-16 07:39:37 -05:00
w1 nvmem: add explicit config option to read old syntax fixed OF cells 2023-10-21 19:19:06 +02:00
watchdog - removed AR7 platform support 2023-11-10 09:19:46 -08:00
xen xen/events: remove some info_for_irq() calls in pirq handling 2023-11-15 09:51:51 +01:00
zorro
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile - removed AR7 platform support 2023-11-10 09:19:46 -08:00