mirror-linux/drivers
Thomas Hellström 2facdd6002 dma-buf/dma-fence: Use a successful read_trylock() annotation for dma_fence_begin_signalling()
Condsider the following call sequence:

/* Upper layer */
dma_fence_begin_signalling();
lock(tainted_shared_lock);
/* Driver callback */
dma_fence_begin_signalling();
...

The driver might here use a utility that is annotated as intended for the
dma-fence signalling critical path. Now if the upper layer isn't correctly
annotated yet for whatever reason, resulting in

/* Upper layer */
lock(tainted_shared_lock);
/* Driver callback */
dma_fence_begin_signalling();

We will receive a false lockdep locking order violation notification from
dma_fence_begin_signalling(). However entering a dma-fence signalling
critical section itself doesn't block and could not cause a deadlock.

So use a successful read_trylock() annotation instead for
dma_fence_begin_signalling(). That will make sure that the locking order
is correctly registered in the first case, and doesn't register any
locking order in the second case.

The alternative is of course to make sure that the "Upper layer" is always
correctly annotated. But experience shows that's not easily achievable
in all cases.

Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20230428125233.228353-1-thomas.hellstrom@linux.intel.com
2024-09-20 09:27:00 +02:00
..
accel accel/qaic: Change to use DEFINE_SHOW_ATTRIBUTE macro 2024-09-13 12:40:46 -06:00
accessibility treewide: remove unnecessary <linux/version.h> inclusion 2024-08-12 18:36:44 +09:00
acpi ACPI: video: Add backlight=native quirk for Dell OptiPlex 7760 AIO 2024-08-19 15:58:52 +02:00
amba
android binder: fix UAF caused by offsets overwrite 2024-09-03 12:18:46 +02:00
ata ata: libata: Fix memory leak for error path in ata_host_alloc() 2024-08-27 06:54:36 +09:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-08-12 10:41:44 +01:00
auxdisplay auxdisplay updates for v6.11 2024-07-26 11:04:28 -07:00
base driver core: Fix uevent_show() vs driver detach race 2024-07-31 14:41:44 +02:00
bcma
block block-6.11-20240906 2024-09-06 12:04:06 -07:00
bluetooth Bluetooth: qca: If memdump doesn't work, re-enable IBS 2024-08-30 17:48:24 -04:00
bus Devicetree fixes for 6.11, part 1 2024-07-27 12:46:16 -07:00
cache cache: StarFive: Require a 64-bit system 2024-08-01 07:15:02 -07:00
cdrom sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
cdx
char tpm: ibmvtpm: Call tpm2_sessions_init() to initialize session support 2024-08-27 21:11:44 +03:00
clk clk: qcom: gcc-sc8280xp: don't use parking clk_ops for QUPs 2024-09-03 13:01:34 -07:00
clocksource clocksource/drivers/imx-tpm: Fix next event not taking effect sometime 2024-09-02 10:04:15 +02:00
comedi
connector
counter Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
cpufreq cpufreq/amd-pstate: Remove warning for X86_FEATURE_CPPC on certain Zen models 2024-08-28 10:15:00 -05:00
cpuidle
crypto ARM: 2024-07-20 12:41:03 -07:00
cxl cxl/pci: Get AER capability address from RCRB only for RCH dport 2024-08-09 15:13:07 -07:00
dax Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
dca Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
devfreq
dio
dma dmaengine: dw-edma: Do not enable watermark interrupts for HDMA 2024-08-28 18:40:17 +05:30
dma-buf dma-buf/dma-fence: Use a successful read_trylock() annotation for dma_fence_begin_signalling() 2024-09-20 09:27:00 +02:00
dpll
edac minmax: make generic MIN() and MAX() macros available everywhere 2024-07-28 15:49:18 -07:00
eisa
extcon
firewire Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
firmware ARM: SoC fixes for 6.11, part 2 2024-09-01 06:42:13 +12:00
fpga Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
fsi fsi: add missing MODULE_DESCRIPTION() macros 2024-07-31 13:40:00 +02:00
gnss
gpio gpio: modepin: Enable module autoloading 2024-09-02 15:00:53 +02:00
gpu drm/rockchip: Load crtc devices in preferred order 2024-09-19 16:22:50 +02:00
greybus Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
hid hid-for-linus-2024081901 2024-08-19 11:02:13 -07:00
hsi Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
hte
hv Linux 6.11-rc7 2024-09-11 09:18:15 +02:00
hwmon hwmon: (hp-wmi-sensors) Check if WMI event data exists 2024-09-02 07:23:35 -07:00
hwspinlock
hwtracing Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
i2c i2c: tegra: Do not mark ACPI devices as irq safe 2024-08-15 00:22:28 +02:00
i3c I3C for 6.11 2024-07-27 10:53:06 -07:00
idle
iio iio: imu: inv_mpu6050: fix interrupt status read for old buggy chips 2024-08-17 15:31:41 +01:00
infiniband IOMMU Updates for Linux v6.11 2024-07-19 09:59:58 -07:00
input Input updates for v6.11-rc5 2024-08-31 15:32:38 +12:00
interconnect Char/Misc and other driver changes for 6.11-rc1 2024-07-19 15:55:08 -07:00
iommu IOMMU Fixes for Linux v6.11-rc5 2024-08-31 06:11:34 +12:00
ipack
irqchip irqchip/irq-msi-lib: Check for NULL ops in msi_lib_irq_domain_select() 2024-08-23 13:55:15 +02:00
isdn mISDN: Fix a use after free in hfcmulti_tx() 2024-07-25 08:05:05 -07:00
leds
macintosh sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-25 12:58:36 -07:00
mailbox mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable() 2024-07-19 21:25:23 -05:00
mcb Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
md block-6.11-20240824 2024-08-16 14:03:31 -07:00
media media fixes for v6.11-rc4 2024-08-15 10:23:19 -07:00
memory
memstick Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
message
mfd Devicetree fixes for 6.11, part 1 2024-07-27 12:46:16 -07:00
misc VMCI: Fix use-after-free when removing resource in vmci_resource_remove() 2024-09-03 13:16:42 +02:00
mmc mmc: cqhci: Fix checking of CQHCI_HALT state 2024-09-03 14:20:51 +02:00
most Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
mtd drm-misc-next for v6.12: 2024-08-08 18:58:46 +02:00
mux
net net: dsa: vsc73xx: fix possible subblocks range of CAPT block 2024-09-05 12:30:06 +02:00
nfc nfc: pn533: Add poll mod list filling check 2024-08-29 12:08:44 +02:00
ntb Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
nubus
nvdimm nvdimm/pmem: Set dax flag for all 'PFN_MAP' cases 2024-08-09 14:29:58 -05:00
nvme nvmet: Identify-Active Namespace ID List command should reject invalid nsid 2024-09-03 10:05:40 -07:00
nvmem nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc 2024-09-03 12:20:41 +02:00
of A revert for a previous TTM commit causing stuttering, 3 fixes for 2024-08-30 11:28:11 +10:00
opp OPP: Fix support for required OPPs for multiple PM domains 2024-08-23 11:57:44 +02:00
parisc
parport sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-25 12:58:36 -07:00
pci pci-v6.11-fixes-3 2024-09-06 17:38:50 -07:00
pcmcia Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
peci Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
perf perf: riscv: Fix selecting counters in legacy mode 2024-08-01 07:15:13 -07:00
phy phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume 2024-08-05 21:46:58 +05:30
pinctrl pinctrl: qcom: x1e80100: Bypass PDC wakeup parent for now 2024-09-02 11:07:48 +02:00
platform platform-drivers-x86 for v6.11-6 2024-09-05 09:57:50 -07:00
pmdomain pmdomain: imx: wait SSAR when i.MX93 power domain on 2024-08-15 12:47:09 +02:00
pnp
power power sequencing fixes for v6.11-rc6 2024-09-01 09:07:44 +12:00
powercap
pps Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
ps3
ptp ptp: ocp: adjust sysfs entries to expose tty information 2024-09-03 15:37:48 +02:00
pwm pwm: stm32: Use the right CCxNP bit in stm32_pwm_enable() 2024-09-05 11:12:01 +02:00
rapidio
ras
regulator regulator: Fixes for v6.11 2024-07-27 12:27:52 -07:00
remoteproc rpmsg updates for v6.11 2024-07-23 13:41:59 -07:00
reset Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
rpmsg Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
rtc
s390 s390 updates for 6.11-rc5 2024-08-25 12:05:23 +12:00
sbus
scsi SCSI fixes on 20240831 2024-09-01 07:00:38 +12:00
sh
siox Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
slimbus Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
soc Qualcomm driver fixes for v6.11 2024-08-28 20:27:39 +00:00
soundwire soundwire: stream: fix programming slave ports for non-continous port maps 2024-08-17 22:55:05 +05:30
spi spi: spi-fsl-lpspi: Fix off-by-one in prescale max 2024-09-05 12:55:59 +01:00
spmi spmi: pmic-arb: add missing newline in dev_err format strings 2024-07-31 13:49:28 +02:00
ssb
staging Char/Misc driver fixes for 6.11-rc7 2024-09-08 10:13:39 -07:00
target
tc
tee Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
thermal thermal: of: Fix OF node leak in of_thermal_zone_find() error paths 2024-08-22 20:58:49 +02:00
thunderbolt thunderbolt: Mark XDomain as unplugged when router is removed 2024-08-06 08:01:10 +03:00
tty Revert "serial: 8250_omap: Set the console genpd always on if no console suspend" 2024-08-15 07:22:10 +02:00
ufs scsi: ufs: ufs-mediatek: Add UFSHCD_QUIRK_BROKEN_LSDBS_CAP 2024-08-28 21:29:20 -04:00
uio Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic 2024-09-03 12:37:38 +02:00
usb usb: typec: ucsi: Fix cable registration 2024-09-03 19:26:18 +02:00
vdpa virtio: fixes 2024-07-29 12:53:37 -07:00
vfio Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
vhost virtio: bugfix 2024-08-06 10:58:28 -07:00
video Linux 6.11-rc7 2024-09-11 09:18:15 +02:00
virt ARM: 2024-07-20 12:41:03 -07:00
virtio virtio: fixes 2024-07-29 12:53:37 -07:00
w1
watchdog linux-watchdog 6.11-rc1 tag 2024-07-25 10:18:35 -07:00
xen Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
zorro Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
Kconfig
Makefile