Message ID | 20210318214933.29341-1-dave.hansen@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/sgx: fix uninitialized 'nid' variable | expand |
On Thu, Mar 18, 2021 at 02:49:33PM -0700, Dave Hansen wrote: > The NUMA fallback in __sgx_alloc_epc_page() recently grew an > additional 'nid' variable to prevent extra trips through the > fallback loop in case where the thread is migrated around. > > But, the new copy is not properly initialized. Fix it. > > This was found by some fancy clang that 0day runs. My gcc > does not detect it. > > Fixes: 5b8719504e3a ("x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page()") > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> > Cc: Jarkko Sakkinen <jarkko@kernel.org> > Cc: Borislav Petkov <bp@alien8.de> > Cc: x86@kernel.org > Cc: linux-sgx@vger.kernel.org Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> > --- > arch/x86/kernel/cpu/sgx/main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c > index 2a0031e4a4dc..1b4d8a0e0915 100644 > --- a/arch/x86/kernel/cpu/sgx/main.c > +++ b/arch/x86/kernel/cpu/sgx/main.c > @@ -489,7 +489,7 @@ struct sgx_epc_page *__sgx_alloc_epc_page(void) > { > struct sgx_epc_page *page; > int nid_of_current = numa_node_id(); > - int nid; > + int nid = nid_of_current; > > if (node_isset(nid_of_current, sgx_numa_mask)) { > page = __sgx_alloc_epc_page_from_node(nid_of_current); > -- > 2.19.1 > > /Jarkko
diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c index 2a0031e4a4dc..1b4d8a0e0915 100644 --- a/arch/x86/kernel/cpu/sgx/main.c +++ b/arch/x86/kernel/cpu/sgx/main.c @@ -489,7 +489,7 @@ struct sgx_epc_page *__sgx_alloc_epc_page(void) { struct sgx_epc_page *page; int nid_of_current = numa_node_id(); - int nid; + int nid = nid_of_current; if (node_isset(nid_of_current, sgx_numa_mask)) { page = __sgx_alloc_epc_page_from_node(nid_of_current);
The NUMA fallback in __sgx_alloc_epc_page() recently grew an additional 'nid' variable to prevent extra trips through the fallback loop in case where the thread is migrated around. But, the new copy is not properly initialized. Fix it. This was found by some fancy clang that 0day runs. My gcc does not detect it. Fixes: 5b8719504e3a ("x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page()") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Cc: Jarkko Sakkinen <jarkko@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: x86@kernel.org Cc: linux-sgx@vger.kernel.org --- arch/x86/kernel/cpu/sgx/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)