linux/arch/mips
Geert Uytterhoeven 18b8f5b6fc mips: cm: Convert to bitfield API to fix out-of-bounds access
mips_cm_error_report() extracts the cause and other cause from the error
register using shifts.  This works fine for the former, as it is stored
in the top bits, and the shift will thus remove all non-related bits.
However, the latter is stored in the bottom bits, hence thus needs masking
to get rid of non-related bits.  Without such masking, using it as an
index into the cm2_causes[] array will lead to an out-of-bounds access,
probably causing a crash.

Fix this by using FIELD_GET() instead.  Bite the bullet and convert all
MIPS CM handling to the bitfield API, to improve readability and safety.

Fixes: 3885c2b463 ("MIPS: CM: Add support for reporting CM cache errors")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2021-11-02 10:53:52 +01:00
..
alchemy MIPS: Alchemy: Fix spelling contraction "cant" -> "can't" 2021-07-29 11:41:05 +02:00
ar7 mips: ar7: convert to CONFIG_COMMON_CLK 2021-06-08 17:00:09 +02:00
ath25 mips: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:40 +01:00
ath79 MIPS: of: Introduce helper function to get DTB 2021-02-04 13:34:51 +01:00
bcm47xx MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
bcm63xx MIPS: BCM63XX: Use BUG_ON instead of condition followed by BUG. 2021-04-26 10:23:52 +02:00
bmips MIPS: bmips: include <linux/dma-direct.h> for phys_to_dma 2021-03-06 08:43:40 +01:00
boot MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
cavium-octeon MIPS: octeon: Remove unused functions 2021-10-24 17:15:06 +02:00
cobalt MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
configs MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
crypto asm-generic: unaligned always use struct helpers 2021-05-10 17:50:47 +02:00
dec MIPS: DEC: Restore bootmem reservation for firmware working memory area 2020-10-14 23:57:57 +02:00
fw MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
generic MIPS: ingenic: Unconditionally enable clock of CPU #0 2021-08-29 13:31:02 +02:00
include mips: cm: Convert to bitfield API to fix out-of-bounds access 2021-11-02 10:53:52 +01:00
ingenic MIPS: Kconfig: ingenic: Ensure MACH_INGENIC_GENERIC selects all SoCs 2021-06-01 11:44:47 +02:00
jazz MIPS/jazzdma: return error code from jazz_dma_map_sg() 2021-08-09 17:13:05 +02:00
kernel mips: cm: Convert to bitfield API to fix out-of-bounds access 2021-11-02 10:53:52 +01:00
kvm MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
lantiq mips: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:40 +01:00
lib arch: remove compat_alloc_user_space 2021-09-08 15:32:35 -07:00
loongson2ef MIPS: loongson2ef: don't build serial.o unconditionally 2021-08-05 10:58:21 +02:00
loongson32 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
loongson64 MIPS: Loongson64: Add of_node_put() before break 2021-10-18 18:12:57 +02:00
math-emu MIPS: Use fallthrough for arch/mips 2020-05-07 11:55:47 +02:00
mm MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
mti-malta - converted Pistachio platform to use MIPS generic kernel 2021-09-03 11:11:54 -07:00
n64 mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
net bpf: Introduce BPF nospec instruction for mitigating Spectre v4 2021-07-29 00:20:56 +02:00
pci MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
pic32 clkdev: remove CONFIG_CLKDEV_LOOKUP 2021-06-08 17:00:09 +02:00
power
ralink mips: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:40 +01:00
rb532 net: korina: Add support for device tree 2021-04-19 15:58:14 -07:00
sgi-ip22 bus: Make remove callback return void 2021-07-21 11:53:42 +02:00
sgi-ip27 mips: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:40 +01:00
sgi-ip30 mips: Bulk conversion to generic_handle_domain_irq() 2021-08-12 11:39:40 +01:00
sgi-ip32 kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
sibyte MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
sni MIPS: sni: Fix the build 2021-10-18 18:09:54 +02:00
tools MIPS: tools: Fix resource leak in elf-entry.c 2020-05-24 09:29:48 +02:00
txx9 MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
vdso MIPS: Makefile: Replace -pg with CC_FLAGS_FTRACE 2021-04-21 13:44:35 +02:00
vr41xx MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
Kbuild MIPS: Fix "make clean" error due to recent changes 2020-05-13 13:20:22 +02:00
Kbuild.platforms MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
Kconfig MIPS: Remove NETLOGIC support 2021-10-24 17:24:47 +02:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile Kbuild updates for v5.15 2021-09-03 15:33:47 -07:00
Makefile.postlink