linux/arch/parisc/kernel
Helge Deller 2c98a8fbd6 parisc: Flush correct cache in cacheflush() syscall
The assembly flush instructions were swapped for I- and D-cache flags:

SYSCALL_DEFINE3(cacheflush, ...)
{
	if (cache & DCACHE) {
			"fic ...\n"
	}
	if (cache & ICACHE && error == 0) {
			"fdc ...\n"
	}

Fix it by using fdc for DCACHE, and fic for ICACHE flushing.

Reported-by: Felix Lechner <felix.lechner@lease-up.com>
Fixes: c6d96328fe ("parisc: Add cacheflush() syscall")
Cc: <stable@vger.kernel.org> # v6.5+
Signed-off-by: Helge Deller <deller@gmx.de>
2026-03-15 09:28:49 +01:00
..
syscalls rseq: Implement sys_rseq_slice_yield() 2026-01-22 11:11:17 +01:00
vdso32 vdso: Rename included Makefile 2025-02-21 09:54:01 +01:00
vdso64 vdso: Rename included Makefile 2025-02-21 09:54:01 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile parisc: Add initial kernel-side perf_event support 2025-10-07 19:35:51 +02:00
alternative.c parisc: Use num_present_cpus() in alternative patching code 2023-05-23 18:17:32 +02:00
asm-offsets.c parisc: entry: set W bit for !compat tasks in syscall_restore_rfi() 2025-10-16 01:37:39 +02:00
audit.c parisc: Fold 32-bit compat code into audit_classify_syscall() 2023-06-30 17:14:14 +02:00
cache.c parisc: Flush correct cache in cacheflush() syscall 2026-03-15 09:28:49 +01:00
compat_audit.c parisc: Fold 32-bit compat code into audit_classify_syscall() 2023-06-30 17:14:14 +02:00
drivers.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
entry.S parisc: entry.S: fix space adjustment on interruption for 64-bit userspace 2025-10-30 15:16:32 +01:00
firmware.c parisc: Add PDC PAT call to get free running 64-bit counter 2026-02-07 00:45:19 +01:00
ftrace.c parisc architecture fixes for kernel v6.13-rc1: 2024-11-26 14:49:20 -08:00
hardware.c parisc: Clean up names in hardware database 2022-08-01 18:43:23 +02:00
head.S parisc: Fix initial page table creation for boot 2026-03-06 11:33:13 +01:00
hpmc.S parisc: Re-use toc_stack as hpmc_stack 2022-01-11 11:57:37 +01:00
inventory.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
irq.c parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367 2024-02-27 22:51:44 +01:00
jump_label.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
kexec.c parisc: kexec: include reboot.h 2023-05-09 14:04:56 +02:00
kexec_file.c kexec_file, parisc: print out debugging message if required 2023-12-20 15:02:57 -08:00
kgdb.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
kprobes.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
pacache.S parisc: Ensure page alignment in flush functions 2023-05-03 17:43:26 +02:00
parisc_ksyms.c parisc: Remove memcpy_fromio 2025-02-03 19:27:00 +01:00
patch.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
pci-dma.c parisc: Move proc_mckinley_root and proc_runway_root to sba_iommu 2023-08-10 22:22:03 +02:00
pci.c parisc: Drop comments which are already in pci.h 2019-09-05 16:41:11 +02:00
pdc_chassis.c parisc: chassis: Do not overwrite string on LCD display 2023-08-28 17:58:14 +02:00
pdc_cons.c parisc: Drop locking in pdc console code 2022-12-18 22:18:49 +01:00
pdt.c parisc: PDT: Fix missing prototype warning 2025-02-28 08:04:22 +01:00
perf.c parisc: perf: use named initializers for struct miscdevice 2025-02-28 08:07:15 +01:00
perf_asm.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
perf_event.c parisc: Add initial kernel-side perf_event support 2025-10-07 19:35:51 +02:00
perf_images.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
perf_regs.c parisc: remove unneeded semicolon in perf_regs.c 2025-11-08 23:15:26 +01:00
process.c parisc: Prevent interrupts during reboot 2026-02-07 00:45:18 +01:00
processor.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ptrace.c parisc: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:48 -07:00
real2.S parisc: Fix argument pointer in real64_call_asm() 2023-05-03 17:43:26 +02:00
relocate_kernel.S parisc: add kexec syscall support 2019-09-08 15:37:04 +02:00
setup.c parisc: Check kernel mapping earlier at bootup 2026-03-06 11:33:13 +01:00
signal.c parisc: signal: Fix sparse incorrect type in assignment warning 2023-08-10 17:32:10 +02:00
signal32.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
signal32.h parisc: Add vDSO support 2022-03-11 19:49:30 +01:00
smp.c parisc: Convert to generic clockevents 2024-09-09 08:53:17 +02:00
stacktrace.c parisc: Fix implicit declaration of function '__kernel_text_address' 2021-11-13 22:10:56 +01:00
sys_parisc.c parisc: constify mmap_upper_limit() parameter 2025-09-21 14:22:14 -07:00
sys_parisc32.c parisc: use generic sys_fanotify_mark implementation 2024-06-25 15:57:25 +02:00
syscall.S parisc: Revise gateway LWS calls to probe user read access 2025-07-25 22:45:24 +02:00
time.c parisc: Detect 64-bit free running platform counter 2026-02-07 00:45:19 +01:00
toc.c parisc: Fix missing prototype for 'toc_intr' warning in toc.c 2022-01-20 20:39:19 +01:00
toc_asm.S parisc: Enable TOC (transfer of contents) feature unconditionally 2022-01-11 11:57:37 +01:00
topology.c parisc: fix a crash with multicore scheduler 2022-06-03 09:54:01 +02:00
traps.c parisc: Report emulation faults via perf 2025-10-07 18:01:53 +02:00
unaligned.c parisc: Report software alignment faults via perf 2025-10-07 18:01:53 +02:00
unaligned.h parisc: get rid of private asm/unaligned.h 2024-10-01 23:20:41 -04:00
unwind.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
vdso.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vmlinux.lds.S kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00