riscv: hwprobe: avoid uninitialized variable use in hwprobe_arch_id()
Paul Walmsley
maintainerPATCH 1/1 riscv: hwprobe: avoid uninitialized variable use in hwprobe_arch_id()
Resolve this smatch warning:
arch/riscv/kernel/sys_hwprobe.c:50 hwprobe_arch_id() error: uninitialized symbol 'cpu_id'.
This could happen if hwprobe_arch_id() was called with a key ID of something other than MVENDORID, MIMPID, and MARCHID. This does not happen in the current codebase. The only caller of hwprobe_arch_id() is a function that only passes one of those three key IDs.
For the sake of reducing static analyzer warning noise, and in the unlikely event that hwprobe_arch_id() is someday called with some other key ID, validate hwprobe_arch_id()'s input to ensure that 'cpu_id' is always initialized before use.
--- arch/riscv/kernel/sys_hwprobe.c | 6 ++++++ 1 file changed, 6 insertions(+)
arch/riscv/kernel/sys_hwprobe.c +6 -0
@@ -31,6 +31,11 @@ static void hwprobe_arch_id(struct riscv_hwprobe *pair,bool first = true;int cpu; +if (pair->key !=RISCV_HWPROBE_KEY_MVENDORID && + pair->key !=RISCV_HWPROBE_KEY_MIMPID && + pair->key !=RISCV_HWPROBE_KEY_MARCHID ) + goto out; +for_each_cpu (cpu, cpus) {u64 cpu_id;
@@ -61,6 +66,7 @@ static void hwprobe_arch_id(struct riscv_hwprobe *pair, } } +out: pair->value = id; }
Signature · 7 lines
2.48.1 _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv
Quoted 10 lines · Paul Walmsley
Resolve this smatch warning:
arch/riscv/kernel/sys_hwprobe.c:50hwprobe_arch_id()error: uninitialized symbol 'cpu_id'.This could happen if
hwprobe_arch_id()was called with a key ID of something other than MVENDORID, MIMPID, and MARCHID. This does not happen in the current codebase. The only caller ofhwprobe_arch_id()is a function that only passes one of those three key IDs.
Quoted 8 lines
For the sake of reducing static analyzer warning noise, and in the unlikely event that
hwprobe_arch_id()is someday called with some other key ID, validate hwprobe_arch_id()'s input to ensure that 'cpu_id' is always initialized before use.Fixes ea3de9ce8aa280 ("RISC-V: Add a syscall for HW probing")Cc Evan Green <[email protected]>Signed-off-by Paul Walmsley <[email protected]>
_______________________________________________
linux-riscv mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-riscv