linux/arch/powerpc/platforms/powernv
Rohan McLure 331e2cad6d powerpc: powernv: Annotate data races in opal events
The kopald thread handles opal events as they appear, but by polling a
static bit-vector in last_outstanding_events. Annotate these data races
accordingly. We are not at risk of missing events, but use of READ_ONCE,
WRITE_ONCE will assist readers in seeing that kopald only consumes the
events it is aware of when it is scheduled. Also removes extraneous
KCSAN warnings.

Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230510033117.1395895-10-rmclure@linux.ibm.com
2023-06-21 15:13:57 +10:00
..
copy-paste.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
eeh-powernv.c powerpc/powernv/pci: Drop VF MPS fixup 2022-05-22 15:59:54 +10:00
idle.c powerpc: powernv: Fix KCSAN datarace warnings on idle_state contention 2023-06-21 15:13:57 +10:00
Kconfig powerc/mm: try VMA lock-based page fault handling first 2023-04-05 20:03:02 -07:00
Makefile powerpc/kasan: Mark more real-mode code as not to be instrumented 2022-05-29 10:30:42 +10:00
memtrace.c powerpc: rename powerpc_debugfs_root to arch_debugfs_dir 2021-08-13 22:04:26 +10:00
ocxl.c ocxl: Remove the unneeded result variable 2022-09-28 19:22:14 +10:00
opal-async.c powerpc: Use fallthrough pseudo-keyword 2020-07-29 21:09:37 +10:00
opal-call.c powerpc/powernv/pci: Remove MVE code 2023-06-21 15:13:57 +10:00
opal-core.c powerpc/powernv: Add missing of_node_put()s 2022-09-05 17:30:29 +10:00
opal-dump.c powerpc: declare unmodified attribute_group usages const 2022-03-08 22:15:32 +11:00
opal-elog.c powerpc/opal: use default_groups in kobj_type 2022-01-05 10:59:52 +11:00
opal-fadump.c powerpc: fix typos in comments 2022-05-05 22:12:44 +10:00
opal-fadump.h powerpc/fadump: Fix fadump to work with a different endian capture kernel 2022-04-26 22:35:46 +10:00
opal-flash.c powerpc/powernv/flash: Check OPAL flash calls exist before using 2022-05-22 15:59:54 +10:00
opal-hmi.c powerpc/64s/powernv: Ratelimit harmless HMI error printing 2020-12-04 01:01:23 +11:00
opal-imc.c powerpc/powernv: Switch from __FUNCTION__ to __func__ 2022-05-04 19:37:44 +10:00
opal-irqchip.c powerpc: powernv: Annotate data races in opal events 2023-06-21 15:13:57 +10:00
opal-kmsg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
opal-lpc.c powerpc: Use of_property_present() for testing DT property presence 2023-03-30 23:36:35 +11:00
opal-memory-errors.c powerpc: fix typos in comments 2022-05-05 22:12:44 +10:00
opal-msglog.c powerpc/powernv: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
opal-nvram.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
opal-power.c powerpc/powernv: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
opal-powercap.c powerpc/powernv: Add missing of_node_put()s 2022-09-05 17:30:29 +10:00
opal-prd.c powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload 2021-10-29 16:47:32 +11:00
opal-psr.c powerpc/powernv: Add missing of_node_put()s 2022-09-05 17:30:29 +10:00
opal-rtc.c powerpc/powernv: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
opal-secvar.c powerpc/secvar: Handle max object size in the consumer 2023-02-12 22:12:37 +11:00
opal-sensor-groups.c powerpc/powernv: Add missing of_node_put()s 2022-09-05 17:30:29 +10:00
opal-sensor.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
opal-sysparam.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
opal-tracepoints.c powerpc: Move C prototypes out of asm-prototypes.h 2022-03-08 22:06:25 +11:00
opal-wrappers.S powerpc/64: provide a helper macro to load r2 with the kernel TOC 2022-09-28 19:22:12 +10:00
opal-xscom.c powerpc: rename powerpc_debugfs_root to arch_debugfs_dir 2021-08-13 22:04:26 +10:00
opal.c powerpc/powernv: add missing of_node_put() in opal_export_attrs() 2022-09-08 14:22:47 +10:00
pci-cxl.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
pci-ioda-tce.c KVM: PPC: Book3s: Retire H_PUT_TCE/etc real mode handlers 2022-05-19 00:44:01 +10:00
pci-ioda.c powerpc/powernv/pci: Remove last IODA1 defines 2023-06-21 15:13:57 +10:00
pci-sriov.c powerpc/powernv/sriov: perform null check on iov before dereferencing iov 2023-06-19 17:37:13 +10:00
pci.c powerpc/powernv/pci: Remove ioda1 support 2023-06-21 15:13:56 +10:00
pci.h powerpc/powernv/pci: Remove last IODA1 defines 2023-06-21 15:13:57 +10:00
powernv.h powerpc/powernv: wire up rng during setup_arch 2022-06-22 19:47:22 +10:00
rng.c powerpc/powernv: rename remaining rng powernv_ functions to pnv_ 2022-07-28 16:22:15 +10:00
setup.c powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
smp.c powerpc/kasan: Don't instrument non-maskable or raw interrupts 2022-05-22 15:58:29 +10:00
subcore-asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
subcore.c SMP cross-CPU function-call updates for v6.4: 2023-04-28 15:03:43 -07:00
subcore.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
ultravisor.c powerpc/powernv: fix missing of_node_put in uv_init() 2022-05-22 15:58:30 +10:00
vas-debug.c powerpc/vas: Define and use common vas_window struct 2021-06-20 21:58:56 +10:00
vas-fault.c powerpc: Fix all occurences of duplicate words 2022-07-25 12:05:15 +10:00
vas-trace.h powerpc/vas: Define and use common vas_window struct 2021-06-20 21:58:56 +10:00
vas-window.c powerpc/64s: Fix VAS mm use after free 2023-06-15 14:04:19 +10:00
vas.c powerpc/vas: Fix IRQ name allocation 2021-01-30 11:39:31 +11:00
vas.h powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr 2022-05-22 15:58:27 +10:00