Nicholas Piggin <npiggin@xxxxxxxxx> writes: > Excerpts from Fabiano Rosas's message of December 24, 2021 7:19 am: >> Delay the setting of kvm_hv_ops until after all init code has >> completed. This avoids leaving the ops still accessible if the init >> fails. >> >> Signed-off-by: Fabiano Rosas <farosas@xxxxxxxxxxxxx> >> --- >> arch/powerpc/kvm/book3s_hv.c | 12 +++++++----- >> 1 file changed, 7 insertions(+), 5 deletions(-) >> >> diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c >> index 9f4765951733..53400932f5d8 100644 >> --- a/arch/powerpc/kvm/book3s_hv.c >> +++ b/arch/powerpc/kvm/book3s_hv.c >> @@ -6087,9 +6087,6 @@ static int kvmppc_book3s_init_hv(void) >> } >> #endif >> >> - kvm_ops_hv.owner = THIS_MODULE; >> - kvmppc_hv_ops = &kvm_ops_hv; >> - >> init_default_hcalls(); >> >> init_vcore_lists(); >> @@ -6105,10 +6102,15 @@ static int kvmppc_book3s_init_hv(void) >> } >> >> r = kvmppc_uvmem_init(); >> - if (r < 0) >> + if (r < 0) { >> pr_err("KVM-HV: kvmppc_uvmem_init failed %d\n", r); >> + return r; >> + } >> >> - return r; >> + kvm_ops_hv.owner = THIS_MODULE; >> + kvmppc_hv_ops = &kvm_ops_hv; >> + >> + return 0; >> } >> >> static void kvmppc_book3s_exit_hv(void) >> -- >> 2.33.1 >> >> > > Also looks okay to me but KVM init has lots of details. IIRC Alexey may > have run into a related issue with ops being set too early (or was it > cleared too late?) > > Thanks, > Nick > CC Alexey