Loading
riscv: KVM: Fix SBI IPI error generation
stable inclusion from stable-v6.6.81 commit f9dd51830d3076948540fb3f953f350927a7705b category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IBYZED Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f9dd51830d3076948540fb3f953f350927a7705b -------------------------------- [ Upstream commit 0611f78f83c93c000029ab01daa28166d03590ed ] When an invalid function ID of an SBI extension is used we should return not-supported, not invalid-param. Also, when we see that at least one hartid constructed from the base and mask parameters is invalid, then we should return invalid-param. Finally, rather than relying on overflowing a left shift to result in zero and then using that zero in a condition which [correctly] skips sending an IPI (but loops unnecessarily), explicitly check for overflow and exit the loop immediately. Fixes: 5f862df5 ("RISC-V: KVM: Add v0.1 replacement SBI extensions defined in v0.2") Signed-off-by:Andrew Jones <ajones@ventanamicro.com> Reviewed-by:
Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20250217084506.18763-10-ajones@ventanamicro.com Signed-off-by:
Anup Patel <anup@brainfault.org> Signed-off-by:
Sasha Levin <sashal@kernel.org> (cherry picked from commit f9dd51830d3076948540fb3f953f350927a7705b) Signed-off-by:
Wentao Guan <guanwentao@uniontech.com>