mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
kvm/eventfd: use list_for_each_entry when deassign ioeventfd
Simpify kvm_deassign_ioeventfd_idx to use list_for_each_entry as the loop just ends at the entry that's found and deleted. Note, coalesced_mmio_ops and ioeventfd_ops are the only instances of kvm_io_device_ops that implement a destructor, all other callers of kvm_io_bus_unregister_dev() are unaffected by this change. Suggested-by: Michal Luczaj <mhal@rbox.co> Signed-off-by: Wei Wang <wei.w.wang@intel.com> Reviewed-by: Sean Christopherson <seanjc@google.com> Link: https://lore.kernel.org/r/20230207123713.3905-3-wei.w.wang@intel.com [sean: call out that only select users implement a destructor] Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
committed by
Sean Christopherson
parent
5ea5ca3c2b
commit
cc77b95acf
@@ -901,7 +901,7 @@ static int
|
|||||||
kvm_deassign_ioeventfd_idx(struct kvm *kvm, enum kvm_bus bus_idx,
|
kvm_deassign_ioeventfd_idx(struct kvm *kvm, enum kvm_bus bus_idx,
|
||||||
struct kvm_ioeventfd *args)
|
struct kvm_ioeventfd *args)
|
||||||
{
|
{
|
||||||
struct _ioeventfd *p, *tmp;
|
struct _ioeventfd *p;
|
||||||
struct eventfd_ctx *eventfd;
|
struct eventfd_ctx *eventfd;
|
||||||
struct kvm_io_bus *bus;
|
struct kvm_io_bus *bus;
|
||||||
int ret = -ENOENT;
|
int ret = -ENOENT;
|
||||||
@@ -915,8 +915,7 @@ kvm_deassign_ioeventfd_idx(struct kvm *kvm, enum kvm_bus bus_idx,
|
|||||||
|
|
||||||
mutex_lock(&kvm->slots_lock);
|
mutex_lock(&kvm->slots_lock);
|
||||||
|
|
||||||
list_for_each_entry_safe(p, tmp, &kvm->ioeventfds, list) {
|
list_for_each_entry(p, &kvm->ioeventfds, list) {
|
||||||
|
|
||||||
if (p->bus_idx != bus_idx ||
|
if (p->bus_idx != bus_idx ||
|
||||||
p->eventfd != eventfd ||
|
p->eventfd != eventfd ||
|
||||||
p->addr != args->addr ||
|
p->addr != args->addr ||
|
||||||
|
Reference in New Issue
Block a user