Messages in this thread | | | Date | Mon, 30 Oct 2023 18:17:16 +0200 | Subject | Re: [PATCH] KVM: x86: User mutex guards to eliminate __kvm_x86_vendor_init() | From | Nikolay Borisov <> |
| |
On 30.10.23 г. 18:07 ч., Sean Christopherson wrote: > On Mon, Oct 30, 2023, Nikolay Borisov wrote: >> Current separation between (__){0,1}kvm_x86_vendor_init() is superfluos as > > superfluous > > But this intro is actively misleading. The double-underscore variant most definitely > isn't superfluous, e.g. it eliminates the need for gotos reduces the probability > of incorrect error codes, bugs in the error handling, etc. It _becomes_ superflous > after switching to guard(mutex). > > IMO, this is one of the instances where the "problem, then solution" appoach is > counter-productive. If there are no objections, I'll massage the change log to > the below when applying (for 6.8, in a few weeks). > > Use the recently introduced guard(mutex) infrastructure acquire and > automatically release vendor_module_lock when the guard goes out of scope. > Drop the inner __kvm_x86_vendor_init(), its sole purpose was to simplify > releasing vendor_module_lock in error paths. > > No functional change intended.
Thanks, I'm fine with this changelog.
> >> the the underscore version doesn't have any other callers. >> >> Instead, use the newly added cleanup infrastructure to ensure that >> kvm_x86_vendor_init() holds the vendor_module_lock throughout its >> exectuion and that in case of error in the middle it's released. No >> functional changes. >
| |