Skip to content

Conversation

@linux-riscv-bot
Copy link

PR for series 1044751 applied to workflow__riscv__fixes

Name: irqchip/sifive-plic: Fix insufficient irq_groups allocation
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1044751
Version: 1

Since the first irq source is 1 instead of 0, when the number of
irqs is multiple of 32, the last irq group will be ignored during
allocation, saving, and restoring. This lead to memory corruption
when accessing enable_save beyond allocated memory after commit
14ff9e5 ("irqchip/sifive-plic: Cache the interrupt enable state")
which will access enable_save for all sources during plic_probe.
Thus, we should allocate irq_groups based on (nr_irqs + 1) instead of
nr_irqs to avoid this issue.

Fixes: 14ff9e5 ("irqchip/sifive-plic: Cache the interrupt enable state")

Signed-off-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 114.89 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1239.47 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1724.99 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 25.22 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 26.50 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.94 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 81.06 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.24 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
kdoc
Desc: Detects for kdoc errors
Duration: 1.02 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 1.22 seconds
Result: ERROR
Output:

Commit: 34780984173fb ("irqchip/sifive-plic: Fix insufficient irq_groups allocation")
	Fixes tag: Fixes: 14ff9e54dd14 ("irqchip/sifive-plic: Cache the interrupt enable state")
	Has these problem(s):
		- empty lines surround the Fixes tag
Problems with Fixes tag: 1


@linux-riscv-bot
Copy link
Author

Patch 1: "irqchip/sifive-plic: Fix insufficient irq_groups allocation"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot linux-riscv-bot deleted the pw1044751 branch January 21, 2026 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants