Linux userland API discussions
 help / color / mirror / Atom feed
* [PATCH] virtio: Fix typecast of pointer in vring_init()
@ 2015-05-06 10:33 Thomas Huth
  0 siblings, 0 replies; only message in thread
From: Thomas Huth @ 2015-05-06 10:33 UTC (permalink / raw)
  To: Michael S. Tsirkin,
	virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: linux-api-u79uwXL29TY76Z2rM5mHXA

The virtio_ring.h header is used in userspace programs (ie. QEMU),
too. Here we can not assume that sizeof(pointer) is the same as
sizeof(long), e.g. when compiling for Windows, so the typecast
in vring_init() should be done with (uintptr_t) instead of
(unsigned long). This fixes a compiler warning when compiling
QEMU with the mingw32 cross-compiler.

Signed-off-by: Thomas Huth <thuth-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
 include/uapi/linux/virtio_ring.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h
index 915980a..8682551 100644
--- a/include/uapi/linux/virtio_ring.h
+++ b/include/uapi/linux/virtio_ring.h
@@ -143,7 +143,7 @@ static inline void vring_init(struct vring *vr, unsigned int num, void *p,
 	vr->num = num;
 	vr->desc = p;
 	vr->avail = p + num*sizeof(struct vring_desc);
-	vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__virtio16)
+	vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16)
 		+ align-1) & ~(align - 1));
 }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-05-06 10:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 10:33 [PATCH] virtio: Fix typecast of pointer in vring_init() Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox