Re: [PATCH v3 22/28] KVM: x86/mmu: Zap defunct roots via asynchronous worker

From: Paolo Bonzini
Date: Wed Mar 02 2022 - 13:36:21 EST


On 3/2/22 19:33, David Matlack wrote:
On Wed, Mar 2, 2022 at 9:35 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:

On Wed, Mar 02, 2022, Paolo Bonzini wrote:
However, I think we now need a module_get/module_put when creating/destroying
a VM; the workers can outlive kvm_vm_release and therefore any reference
automatically taken by VFS's fops_get/fops_put.

Haven't read the rest of the patch, but this caught my eye. We _already_ need
to handle this scenario. As you noted, any worker, i.e. anything that takes a
reference via kvm_get_kvm() without any additional guarantee that the module can't
be unloaded is suspect. x86 is mostly fine, though kvm_setup_async_pf() is likely
affected, and other architectures seem to have bugs.

Google has an internal patch that addresses this. I believe David is going to post
the fix... David?

This was towards the back of my queue but I can bump it to the front.
I'll have the patches out this week.

Thanks!

Paolo