Am 29.11.21 um 04:43 schrieb Longpeng(Mike):
From: Longpeng <longpeng2@xxxxxxxxxx> The comment above the invocation of vfs_poll() is misleading, move it to the right place.
I think that the current variant is better. events is only used in that function to check for EPOLLIN, so the assignment and the if belong together from a "what am I doing here" perspective.
Fixes: 684a0b719ddb ("KVM: eventfd: Fix lock order inversion") Signed-off-by: Longpeng <longpeng2@xxxxxxxxxx> --- virt/kvm/eventfd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c index 2ad013b..cd01814 100644 --- a/virt/kvm/eventfd.c +++ b/virt/kvm/eventfd.c @@ -406,12 +406,12 @@ bool __attribute__((weak)) kvm_arch_irqfd_route_changed( spin_unlock_irq(&kvm->irqfds.lock); + events = vfs_poll(f.file, &irqfd->pt); + /* * Check if there was an event already pending on the eventfd * before we registered, and trigger it as if we didn't miss it. */ - events = vfs_poll(f.file, &irqfd->pt); - if (events & EPOLLIN) schedule_work(&irqfd->inject);