Skip to content

Commit cbd8602

Browse files
LiaoYuanhong-vivosean-jc
authored andcommitted
KVM: x86: hyper-v: Use guard() instead of mutex_lock() to simplify code
Use guard(mutex) instead of mutex_lock/mutex_unlock pair to simplify the error handling when setting up the TSC page for a Hyper-V guest. No functional change intended. Signed-off-by: Liao Yuanhong <[email protected]> Link: https://lore.kernel.org/r/[email protected] [sean: tweak changelog] Signed-off-by: Sean Christopherson <[email protected]>
1 parent 4319fa1 commit cbd8602

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

arch/x86/kvm/hyperv.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,15 +1168,15 @@ void kvm_hv_setup_tsc_page(struct kvm *kvm,
11681168
BUILD_BUG_ON(sizeof(tsc_seq) != sizeof(hv->tsc_ref.tsc_sequence));
11691169
BUILD_BUG_ON(offsetof(struct ms_hyperv_tsc_page, tsc_sequence) != 0);
11701170

1171-
mutex_lock(&hv->hv_lock);
1171+
guard(mutex)(&hv->hv_lock);
11721172

11731173
if (hv->hv_tsc_page_status == HV_TSC_PAGE_BROKEN ||
11741174
hv->hv_tsc_page_status == HV_TSC_PAGE_SET ||
11751175
hv->hv_tsc_page_status == HV_TSC_PAGE_UNSET)
1176-
goto out_unlock;
1176+
return;
11771177

11781178
if (!(hv->hv_tsc_page & HV_X64_MSR_TSC_REFERENCE_ENABLE))
1179-
goto out_unlock;
1179+
return;
11801180

11811181
gfn = hv->hv_tsc_page >> HV_X64_MSR_TSC_REFERENCE_ADDRESS_SHIFT;
11821182
/*
@@ -1192,7 +1192,7 @@ void kvm_hv_setup_tsc_page(struct kvm *kvm,
11921192
goto out_err;
11931193

11941194
hv->hv_tsc_page_status = HV_TSC_PAGE_SET;
1195-
goto out_unlock;
1195+
return;
11961196
}
11971197

11981198
/*
@@ -1228,12 +1228,10 @@ void kvm_hv_setup_tsc_page(struct kvm *kvm,
12281228
goto out_err;
12291229

12301230
hv->hv_tsc_page_status = HV_TSC_PAGE_SET;
1231-
goto out_unlock;
1231+
return;
12321232

12331233
out_err:
12341234
hv->hv_tsc_page_status = HV_TSC_PAGE_BROKEN;
1235-
out_unlock:
1236-
mutex_unlock(&hv->hv_lock);
12371235
}
12381236

12391237
void kvm_hv_request_tsc_page_update(struct kvm *kvm)

0 commit comments

Comments
 (0)