[Question-kvm] Can hva_to_pfn_fast be executed in interrupt context?

From: Bharath Vedartham
Date: Tue Aug 13 2019 - 15:14:45 EST


Hi all,

I was looking at the function hva_to_pfn_fast(in virt/kvm/kvm_main) which is
executed in an atomic context(even in non-atomic context, since
hva_to_pfn_fast is much faster than hva_to_pfn_slow).

My question is can this be executed in an interrupt context?

The motivation for this question is that in an interrupt context, we cannot
assume "current" to be the task_struct of the process of interest.
__get_user_pages_fast assume current->mm when walking the process page
tables.

So if this function hva_to_pfn_fast can be executed in an
interrupt context, it would not be safe to retrive the pfn with
__get_user_pages_fast.

Thoughts on this?

Thank you
Bharath