Re: [PATCH][VIRTIO] Fix vring_init() ring computations

Previous thread: [GIT PULL] FireWire update by Stefan Richter on Tuesday, November 6, 2007 - 9:20 pm. (1 message)

Next thread: Re: [PATCH] SCSI: Add the SGPIO support for sata_nv.c by Yinghai Lu on Wednesday, November 7, 2007 - 12:09 am. (1 message)
To: <linux-kernel@...>
Cc: Anthony Liguori <aliguori@...>, Rusty Russell <rusty@...>, <virtualization@...>
Date: Tuesday, November 6, 2007 - 10:52 pm

This patch fixes a typo in vring_init(). This happens to work today in lguest
because the sizeof(struct vring_desc) is 16 and struct vring contains 3
pointers and an unsigned int so on 32-bit
sizeof(struct vring_desc) == sizeof(struct vring). However, this is no longer
true on 64-bit where the bug is exposed.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

diff --git a/include/linux/virtio_ring.h b/include/linux/virtio_ring.h
index ac69e7b..5b88d21 100644
--- a/include/linux/virtio_ring.h
+++ b/include/linux/virtio_ring.h
@@ -92,8 +92,8 @@ 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);
- vr->used = p + (num+1)*(sizeof(struct vring) + sizeof(__u16));
+ vr->avail = p + num*sizeof(struct vring_desc);
+ vr->used = p + (num+1)*(sizeof(struct vring_desc) + sizeof(__u16));
}

static inline unsigned vring_size(unsigned int num)
-

To: <virtualization@...>
Cc: Anthony Liguori <aliguori@...>, <linux-kernel@...>, Rusty Russell <rusty@...>, <virtualization@...>
Date: Wednesday, November 7, 2007 - 1:57 am

Thanks, applied.

I've put it in the new, experimental virtio git tree on git.kernel.org.

Cheers,
Rusty.
-

To: Rusty Russell <rusty@...>
Cc: <virtualization@...>, <linux-kernel@...>, Rusty Russell <rusty@...>, <virtualization@...>
Date: Wednesday, November 7, 2007 - 9:06 pm

Hrm, perhaps you forgot to push? I don't see it in the tree although I
see the config ops refactoring.

Regards,

-

To: Anthony Liguori <aliguori@...>
Cc: <virtualization@...>, <linux-kernel@...>, Rusty Russell <rusty@...>, <virtualization@...>
Date: Wednesday, November 7, 2007 - 10:25 pm

It should be in the patches/1 branch. I've pushed again...

Thanks,
Rusty.
-

Previous thread: [GIT PULL] FireWire update by Stefan Richter on Tuesday, November 6, 2007 - 9:20 pm. (1 message)

Next thread: Re: [PATCH] SCSI: Add the SGPIO support for sata_nv.c by Yinghai Lu on Wednesday, November 7, 2007 - 12:09 am. (1 message)