potential null pointer dereference in setup_cpuid_table
From: Colin King (gmail)
Date: Thu Jul 27 2023 - 10:22:58 EST
Hi,
Static analysis with cppcheck found a potential null pointer dereference
in function setup_cpuid_table in arch/x86/kernel/sev-shared.c as follows:
if (!cc_info || !cc_info->cpuid_phys || cc_info->cpuid_len <
PAGE_SIZE)
sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_CPUID);
cpuid_table_fw = (const struct snp_cpuid_table
*)cc_info->cpuid_phys;
cc_info is being null checked, so it's potentially null, however, the
assignment to cpuid_table_fw is dereferencing cc_info. Either cc_info is
never null and the null check is redundant, or there is a potential null
pointer dereference.
Colin