Message ID | 1551947777-13044-3-git-send-email-julien.thierry@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Support PCI BAR configuration | expand |
On Thu, 7 Mar 2019 08:36:03 +0000 Julien Thierry <julien.thierry@arm.com> wrote: > The kvm argument is not passed to br_read_lock/unlock, this works for > the barrier implementation because the argument is not used. This ever > breaks if another lock implementation is used. > > Signed-off-by: Julien Thierry <julien.thierry@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Cheers, Andre. > --- > ioport.c | 4 ++-- > mmio.c | 4 ++-- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/ioport.c b/ioport.c > index 505e822..a6dc65e 100644 > --- a/ioport.c > +++ b/ioport.c > @@ -184,7 +184,7 @@ bool kvm__emulate_io(struct kvm_cpu *vcpu, u16 port, void *data, int direction, > void *ptr = data; > struct kvm *kvm = vcpu->kvm; > > - br_read_lock(); > + br_read_lock(kvm); > entry = ioport_search(&ioport_tree, port); > if (!entry) > goto out; > @@ -201,7 +201,7 @@ bool kvm__emulate_io(struct kvm_cpu *vcpu, u16 port, void *data, int direction, > } > > out: > - br_read_unlock(); > + br_read_unlock(kvm); > > if (ret) > return true; > diff --git a/mmio.c b/mmio.c > index c648bec..61e1d47 100644 > --- a/mmio.c > +++ b/mmio.c > @@ -124,7 +124,7 @@ bool kvm__emulate_mmio(struct kvm_cpu *vcpu, u64 phys_addr, u8 *data, u32 len, u > { > struct mmio_mapping *mmio; > > - br_read_lock(); > + br_read_lock(vcpu->kvm); > mmio = mmio_search(&mmio_tree, phys_addr, len); > > if (mmio) > @@ -135,7 +135,7 @@ bool kvm__emulate_mmio(struct kvm_cpu *vcpu, u64 phys_addr, u8 *data, u32 len, u > to_direction(is_write), > (unsigned long long)phys_addr, len); > } > - br_read_unlock(); > + br_read_unlock(vcpu->kvm); > > return true; > }
diff --git a/ioport.c b/ioport.c index 505e822..a6dc65e 100644 --- a/ioport.c +++ b/ioport.c @@ -184,7 +184,7 @@ bool kvm__emulate_io(struct kvm_cpu *vcpu, u16 port, void *data, int direction, void *ptr = data; struct kvm *kvm = vcpu->kvm; - br_read_lock(); + br_read_lock(kvm); entry = ioport_search(&ioport_tree, port); if (!entry) goto out; @@ -201,7 +201,7 @@ bool kvm__emulate_io(struct kvm_cpu *vcpu, u16 port, void *data, int direction, } out: - br_read_unlock(); + br_read_unlock(kvm); if (ret) return true; diff --git a/mmio.c b/mmio.c index c648bec..61e1d47 100644 --- a/mmio.c +++ b/mmio.c @@ -124,7 +124,7 @@ bool kvm__emulate_mmio(struct kvm_cpu *vcpu, u64 phys_addr, u8 *data, u32 len, u { struct mmio_mapping *mmio; - br_read_lock(); + br_read_lock(vcpu->kvm); mmio = mmio_search(&mmio_tree, phys_addr, len); if (mmio) @@ -135,7 +135,7 @@ bool kvm__emulate_mmio(struct kvm_cpu *vcpu, u64 phys_addr, u8 *data, u32 len, u to_direction(is_write), (unsigned long long)phys_addr, len); } - br_read_unlock(); + br_read_unlock(vcpu->kvm); return true; }
The kvm argument is not passed to br_read_lock/unlock, this works for the barrier implementation because the argument is not used. This ever breaks if another lock implementation is used. Signed-off-by: Julien Thierry <julien.thierry@arm.com> --- ioport.c | 4 ++-- mmio.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)