diff options
-rw-r--r-- | drivers/gpu/drm/i915/gvt/kvmgt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c index c7afee37b2b8..9ad89e38f6c0 100644 --- a/drivers/gpu/drm/i915/gvt/kvmgt.c +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c | |||
@@ -1833,6 +1833,8 @@ static bool kvmgt_is_valid_gfn(unsigned long handle, unsigned long gfn) | |||
1833 | { | 1833 | { |
1834 | struct kvmgt_guest_info *info; | 1834 | struct kvmgt_guest_info *info; |
1835 | struct kvm *kvm; | 1835 | struct kvm *kvm; |
1836 | int idx; | ||
1837 | bool ret; | ||
1836 | 1838 | ||
1837 | if (!handle_valid(handle)) | 1839 | if (!handle_valid(handle)) |
1838 | return false; | 1840 | return false; |
@@ -1840,8 +1842,11 @@ static bool kvmgt_is_valid_gfn(unsigned long handle, unsigned long gfn) | |||
1840 | info = (struct kvmgt_guest_info *)handle; | 1842 | info = (struct kvmgt_guest_info *)handle; |
1841 | kvm = info->kvm; | 1843 | kvm = info->kvm; |
1842 | 1844 | ||
1843 | return kvm_is_visible_gfn(kvm, gfn); | 1845 | idx = srcu_read_lock(&kvm->srcu); |
1846 | ret = kvm_is_visible_gfn(kvm, gfn); | ||
1847 | srcu_read_unlock(&kvm->srcu, idx); | ||
1844 | 1848 | ||
1849 | return ret; | ||
1845 | } | 1850 | } |
1846 | 1851 | ||
1847 | struct intel_gvt_mpt kvmgt_mpt = { | 1852 | struct intel_gvt_mpt kvmgt_mpt = { |