Message ID | 1479983114-17190-2-git-send-email-mark.rutland@arm.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, 24 Nov 2016 10:25:12 +0000 Mark Rutland <mark.rutland@arm.com> 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@arm.com> > Cc: Jason Wang <jasowang@redhat.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: linux-kernel@vger.kernel.org > Cc: virtualization@lists.linux-foundation.org > --- > tools/virtio/linux/compiler.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
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@arm.com> > Cc: Jason Wang <jasowang@redhat.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: linux-kernel@vger.kernel.org > Cc: virtualization@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@redhat.com>
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
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@arm.com> Cc: Jason Wang <jasowang@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: linux-kernel@vger.kernel.org Cc: virtualization@lists.linux-foundation.org --- tools/virtio/linux/compiler.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)