mirror-linux/drivers
Kurt Kanzenbach 672bd0519e ptp: vclock: Switch from RCU to SRCU
The usage of PTP vClocks leads immediately to the following issues with
ptp4l with LOCKDEP and DEBUG_ATOMIC_SLEEP enabled: "BUG: sleeping function
called from invalid context".

ptp_convert_timestamp() acquires a mutex_t within a RCU read section.  This
is illegal, because acquiring a mutex_t can result in voluntary scheduling
request which is not allowed within a RCU read section.

Replace the RCU usage with SRCU where sleeping is allowed.

Reported-by: Florian Zeitz <florian.zeitz@schettke.com>
Closes: https://lore.kernel.org/all/00a8cce8-410e-4038-98af-49be6d93d7bd@schettke.com/
Fixes: 67d93ffc0f ("ptp: vclock: use mutex to fix "sleep on atomic" bug")
Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20260529-vclock_rcu-v2-1-02a5531fab92@linutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-03 18:58:54 -07:00
..
accel accel/amdxdna: Remove mmap and export support for ubuf 2026-05-19 08:47:59 -07:00
accessibility
acpi ACPI: button: Add missing device class clearing on probe failures 2026-05-25 09:52:34 +02:00
amba
android rust: allow `clippy::collapsible_if` globally 2026-04-30 23:21:31 +02:00
ata ata: libata-scsi: do not needlessly defer commands when using PMP with FBS 2026-05-18 12:26:51 +02:00
atm net: remove unused ATM protocols and legacy ATM device drivers 2026-04-23 12:21:14 -07:00
auxdisplay
base Driver core fixes for 7.1-rc5 2026-05-23 07:49:05 -07:00
bcma
block 13 hotfixes. 9 are for MM. 9 are cc:stable and the remaining 4 address 2026-05-26 08:23:19 -07:00
bluetooth Bluetooth: hci_qca: Use 100 ms SSR delay for rampatch and NVM loading 2026-05-27 16:44:02 -04:00
bus Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
cache
cdrom cdrom, scsi: sr: propagate read-only status to block layer via set_disk_ro() 2026-04-27 15:52:51 -06:00
cdx
char IPMI: Fix a number of issues that came up recently 2026-05-04 12:48:30 -07:00
clk clk: rk808: fix OF node reference imbalance 2026-04-28 20:55:53 -07:00
clocksource
comedi Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
connector
counter
cpufreq cpufreq/amd-pstate-ut: Disable dynamic_epp after the mode switch 2026-05-26 12:39:28 +02:00
cpuidle
crypto
cxl CXL changes for v7.1 2026-04-17 15:52:58 -07:00
dax dax changes for 7.1 2026-04-21 14:12:01 -07:00
dca
devfreq
dibs
dio
dma dmaengine updates for v7.1 2026-04-17 10:29:01 -07:00
dma-buf drm fixes for 7.1-rc1 2026-04-24 11:44:52 -07:00
dpll dpll: zl3073x: make frequency monitor a per-device attribute 2026-05-28 14:05:29 +02:00
edac EDAC/versalnet: Fix device name memory leak 2026-05-05 14:49:48 +02:00
eisa
extcon
firewire
firmware LoongArch fixes for v7.1-rc5 2026-05-23 09:13:00 -07:00
fpga
fsi
fwctl fwctl: pds: Validate RPC input size before parsing 2026-05-19 10:44:32 -03:00
gnss
gpib
gpio gpio: rockchip: teardown bugs and resource leaks 2026-05-28 15:23:40 +02:00
gpu drm/msm: Restore second parameter name in purge() and evict() 2026-05-24 10:31:24 -07:00
greybus
hid hid-for-linus-2026052801 2026-05-29 08:51:46 -07:00
hsi
hte
hv drm fixes for 7.1-rc1 2026-04-24 11:44:52 -07:00
hwmon hwmon: (pmbus/adm1266) serialize sequencer_state debugfs read with pmbus_lock 2026-05-21 07:00:39 -07:00
hwspinlock
hwtracing Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
i2c i2c: smbus: fix a potential uninitialization bug 2026-05-19 12:43:08 +02:00
i3c
idle
iio Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
infiniband RDMA v7.1 first rc window 2026-05-23 07:17:27 -07:00
input Input updates for v7.1-rc0 2026-04-22 18:36:40 -07:00
interconnect
iommu iommu, debugobjects: avoid gcc-16.1 section mismatch warnings 2026-05-28 09:07:12 +02:00
ipack
irqchip irqchip/renesas-rzt2h: Use pm_runtime_put_sync() in probe error path 2026-05-21 20:11:29 +02:00
leds
macintosh
mailbox mailbox: mailbox-test: make data_ready a per-instance variable 2026-04-18 13:10:14 -05:00
mcb
md - fix crashes in dm-vdo if GFP_NOWAIT allocation fails 2026-05-25 12:45:40 -07:00
media media: rc: ttusbir: fix inverted error logic 2026-05-04 08:33:39 +02:00
memory dma-mapping updates for Linux 7.0: 2026-04-17 11:12:42 -07:00
memstick
message
mfd MFD for v7.1 2026-04-20 11:31:01 -07:00
misc Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
mmc
most
mtd mtd: spinand: winbond: Fix ODTR write VCR on W35NxxJW 2026-04-27 15:08:04 +02:00
mux Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
net octeontx2-af: Fix initialization of mcam's entry2target_pffunc field 2026-06-03 18:12:02 -07:00
nfc nfc: nxp-nci: i2c: use rising-edge IRQ on ACPI systems 2026-05-18 18:30:36 +02:00
ntb
nubus
nvdimm
nvme Including fixes from netfilter. 2026-05-28 13:13:48 -07:00
nvmem
of memblock: updates for 7.0-rc1 2026-04-18 11:29:14 -07:00
opp
parisc parisc: Fix IRQ leak in LASI driver 2026-05-04 11:48:12 +02:00
parport
pci pci-v7.1-fixes-2 2026-05-21 15:02:12 -07:00
pcmcia PCMCIA fixes and cleanups for v7.1 2026-04-23 11:22:16 -07:00
peci
perf
phy phy: qcom: qmp-usbc: Fix out-of-bounds array access in dp swing config 2026-05-19 15:42:11 +05:30
pinctrl pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11 2026-05-13 09:34:55 +02:00
platform platform-drivers-x86 for v7.1-4 2026-05-22 15:45:26 -07:00
pmdomain pmdomain: mediatek: fix use-after-free in scpsys_get_bus_protection_legacy() 2026-04-27 14:53:30 +02:00
pnp
power USB / Thunderbolt changes for 7.1-rc1 2026-04-19 08:47:40 -07:00
powercap
pps
ps3
ptp ptp: vclock: Switch from RCU to SRCU 2026-06-03 18:58:54 -07:00
pwm pwm: Two driver fixes 2026-04-23 08:37:07 -07:00
rapidio
ras
regulator regulator: tps65219: fix irq_data.rdev not being assigned 2026-05-18 10:52:24 +01:00
remoteproc rpmsg updates for v7.1 2026-04-17 14:18:55 -07:00
resctrl arm_mpam: Check whether the config array is allocated before destroying it 2026-05-14 09:52:05 +01:00
reset reset: eyeq: drop device_set_of_node_from_dev() done by parent 2026-04-28 19:03:50 -07:00
rpmsg
rtc RTC for 7.1 2026-04-25 16:39:03 -07:00
s390 s390/cio: Restore GFP_DMA for CHSC allocation 2026-05-11 16:27:25 +02:00
sbus
scsi SCSI fixes on 20260522 2026-05-22 16:08:06 -07:00
sh
siox
slimbus
soc rpmsg updates for v7.1 2026-04-17 14:18:55 -07:00
soundwire soundwire updates for 7.1 2026-04-17 10:16:53 -07:00
spi spi: Fixes for v7.1 2026-05-22 13:19:41 -07:00
spmi
ssb
staging hid-for-linus-2026051401 2026-05-14 14:30:01 -07:00
target scsi: target: tcm_loop: Fix NULL ptr dereference 2026-05-14 22:21:01 -04:00
tc
tee soc: drivers for 7.1 2026-04-16 20:34:34 -07:00
thermal
thunderbolt
tty TTY/Serial changes for 7.1-rc1 2026-04-19 08:44:41 -07:00
ufs scsi: ufs: core: Fix bRefClkFreq write failure in HS-LSS mode 2026-04-21 20:58:06 -04:00
uio
usb USB serial device ids for 7.1-rc3 2026-05-08 17:18:43 +02:00
vdpa
vfio vfio/pci: Check BAR resources before exporting a DMABUF 2026-05-14 11:39:03 -06:00
vhost Including fixes from Netfilter. 2026-04-23 16:50:42 -07:00
video fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free 2026-05-04 10:35:55 +02:00
virt virt: sev-guest: Explicitly leak pages in unknown state 2026-05-20 18:03:17 -07:00
virtio
w1
watchdog
xen ACPI: PAD: xen: Check ACPI_COMPANION() against NULL 2026-05-12 19:01:37 +02:00
zorro
Kconfig net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00
Makefile net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00