Message ID | 20210113232311.277302-1-samitolvanen@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/sgx: fix the return type of sgx_init | expand |
On Wednesday, 2021-01-13 at 15:23:11 -08, Sami Tolvanen wrote: > device_initcall() expects a function of type initcall_t, which returns > an integer. Change the signature of sgx_init() to match. > > Fixes: e7e0545299d8c ("x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections") > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Makes sense. Reviewed-by: Darren Kenny <darren.kenny@oracle.com> > --- > arch/x86/kernel/cpu/sgx/main.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c > index c519fc5f6948..8df81a3ed945 100644 > --- a/arch/x86/kernel/cpu/sgx/main.c > +++ b/arch/x86/kernel/cpu/sgx/main.c > @@ -700,25 +700,27 @@ static bool __init sgx_page_cache_init(void) > return true; > } > > -static void __init sgx_init(void) > +static int __init sgx_init(void) > { > int ret; > int i; > > if (!cpu_feature_enabled(X86_FEATURE_SGX)) > - return; > + return -ENODEV; > > if (!sgx_page_cache_init()) > - return; > + return -ENOMEM; > > - if (!sgx_page_reclaimer_init()) > + if (!sgx_page_reclaimer_init()) { > + ret = -ENOMEM; > goto err_page_cache; > + } > > ret = sgx_drv_init(); > if (ret) > goto err_kthread; > > - return; > + return 0; > > err_kthread: > kthread_stop(ksgxd_tsk); > @@ -728,6 +730,8 @@ static void __init sgx_init(void) > vfree(sgx_epc_sections[i].pages); > memunmap(sgx_epc_sections[i].virt_addr); > } > + > + return ret; > } > > device_initcall(sgx_init); > > base-commit: 65f0d2414b7079556fbbcc070b3d1c9f9587606d > -- > 2.30.0.284.gd98b1dd5eaa7-goog
On Wed, Jan 13, 2021 at 03:23:11PM -0800, Sami Tolvanen wrote: > device_initcall() expects a function of type initcall_t, which returns > an integer. Change the signature of sgx_init() to match. > > Fixes: e7e0545299d8c ("x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections") > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Thank you. Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> I applied this to the master and next of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-sgx.git Including to the v5.12 PR, actually is the first commit included to that. That reminds that I should get the next branch mirrored to linux-next. Stephen, can you start picking the next branch? /Jarkko
On Thu, Jan 14, 2021 at 12:12:12PM +0000, Darren Kenny wrote: > On Wednesday, 2021-01-13 at 15:23:11 -08, Sami Tolvanen wrote: > > device_initcall() expects a function of type initcall_t, which returns > > an integer. Change the signature of sgx_init() to match. > > > > Fixes: e7e0545299d8c ("x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections") > > Signed-off-by: Sami Tolvanen <samitolvanen@google.com> > > Makes sense. > > Reviewed-by: Darren Kenny <darren.kenny@oracle.com> I appended this. Thank you. /Jarkko
diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c index c519fc5f6948..8df81a3ed945 100644 --- a/arch/x86/kernel/cpu/sgx/main.c +++ b/arch/x86/kernel/cpu/sgx/main.c @@ -700,25 +700,27 @@ static bool __init sgx_page_cache_init(void) return true; } -static void __init sgx_init(void) +static int __init sgx_init(void) { int ret; int i; if (!cpu_feature_enabled(X86_FEATURE_SGX)) - return; + return -ENODEV; if (!sgx_page_cache_init()) - return; + return -ENOMEM; - if (!sgx_page_reclaimer_init()) + if (!sgx_page_reclaimer_init()) { + ret = -ENOMEM; goto err_page_cache; + } ret = sgx_drv_init(); if (ret) goto err_kthread; - return; + return 0; err_kthread: kthread_stop(ksgxd_tsk); @@ -728,6 +730,8 @@ static void __init sgx_init(void) vfree(sgx_epc_sections[i].pages); memunmap(sgx_epc_sections[i].virt_addr); } + + return ret; } device_initcall(sgx_init);
device_initcall() expects a function of type initcall_t, which returns an integer. Change the signature of sgx_init() to match. Fixes: e7e0545299d8c ("x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections") Signed-off-by: Sami Tolvanen <samitolvanen@google.com> --- arch/x86/kernel/cpu/sgx/main.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) base-commit: 65f0d2414b7079556fbbcc070b3d1c9f9587606d