On Thu, 7 Mar 2019 08:36:03 +0000
Julien Thierry <julien.thie...@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.thie...@arm.com>

Reviewed-by: Andre Przywara <andre.przyw...@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;
>  }

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to