[PATCH 1/3] tools/virtio: fix READ_ONCE()

Jason Wang
Fri, 25 Nov 2016 02:38:42 -0000

On 2016?11?24? 18:25, Mark Rutland wrote:
> The virtio tools implementation of READ_ONCE() has a single parameter
called
> 'var', but erroneously refers to 'val' for its cast, and
thus won't work unless
> there's a variable of the correct type that happens to be called
'var'.
>
> Fix this with s/var/val/, making READ_ONCE() work as expected regardless.
>
> Fixes: a7c490333df3cff5 ("tools/virtio: use virt_xxx barriers")
> Signed-off-by: Mark Rutland <mark.rutland at arm.com>
> Cc: Jason Wang <jasowang at redhat.com>
> Cc: Michael S. Tsirkin <mst at redhat.com>
> Cc: linux-kernel at vger.kernel.org
> Cc: virtualization at lists.linux-foundation.org
> ---
>   tools/virtio/linux/compiler.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/virtio/linux/compiler.h b/tools/virtio/linux/compiler.h
> index 845960e..c9ccfd4 100644
> --- a/tools/virtio/linux/compiler.h
> +++ b/tools/virtio/linux/compiler.h
> @@ -4,6 +4,6 @@
>   #define WRITE_ONCE(var, val) \
>   	(*((volatile typeof(val) *)(&(var))) = (val))
>
> -#define READ_ONCE(var) (*((volatile typeof(val) *)(&(var))))
> +#define READ_ONCE(var) (*((volatile typeof(var) *)(&(var))))
>
>   #endif

Reviewed-by: Jason Wang <jasowang at redhat.com>