1
0
Fork 0

arch: powerpc/fadump: Cleaning up inconsistent NULL checks

Cleaning up inconsistent NULL checks.
There is otherwise a risk of a possible null pointer dereference.

Was largely found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
hifive-unleashed-5.1
Rickard Strandqvist 2014-05-23 00:03:16 +02:00 committed by Benjamin Herrenschmidt
parent 4750afa2c5
commit b717d98543
1 changed files with 5 additions and 3 deletions

View File

@ -646,7 +646,7 @@ static int __init fadump_build_cpu_notes(const struct fadump_mem_struct *fdm)
}
/* Lower 4 bytes of reg_value contains logical cpu id */
cpu = reg_entry->reg_value & FADUMP_CPU_ID_MASK;
if (!cpumask_test_cpu(cpu, &fdh->cpu_online_mask)) {
if (fdh && !cpumask_test_cpu(cpu, &fdh->cpu_online_mask)) {
SKIP_TO_NEXT_CPU(reg_entry);
continue;
}
@ -663,9 +663,11 @@ static int __init fadump_build_cpu_notes(const struct fadump_mem_struct *fdm)
}
fadump_final_note(note_buf);
pr_debug("Updating elfcore header (%llx) with cpu notes\n",
if (fdh) {
pr_debug("Updating elfcore header (%llx) with cpu notes\n",
fdh->elfcorehdr_addr);
fadump_update_elfcore_header((char *)__va(fdh->elfcorehdr_addr));
fadump_update_elfcore_header((char *)__va(fdh->elfcorehdr_addr));
}
return 0;
error_out: