search for: is_l

Displaying 20 results from an estimated 106 matches for "is_l".

Did you mean: isel
2017 Jan 27
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...-------------------8<-------------- >> >From b26e2bbdc03832a0204ee2b42967a1b49a277dc8 Mon Sep 17 00:00:00 2001 >> From: Halil Pasic <pasic at linux.vnet.ibm.com> >> Date: Thu, 26 Jan 2017 00:06:15 +0100 >> Subject: [PATCH] vhost: remove useless/dangerous reset of is_le >> >> The reset of is_le does no good, but it contributes its fair share to a >> bug in vhost_net, which occurs if we have some oldubufs when stopping and >> setting a fd = -1 as a backend. Instead of doing something convoluted in >> vhost_net, let's just get rid...
2017 Jan 27
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...-------------------8<-------------- >> >From b26e2bbdc03832a0204ee2b42967a1b49a277dc8 Mon Sep 17 00:00:00 2001 >> From: Halil Pasic <pasic at linux.vnet.ibm.com> >> Date: Thu, 26 Jan 2017 00:06:15 +0100 >> Subject: [PATCH] vhost: remove useless/dangerous reset of is_le >> >> The reset of is_le does no good, but it contributes its fair share to a >> bug in vhost_net, which occurs if we have some oldubufs when stopping and >> setting a fd = -1 as a backend. Instead of doing something convoluted in >> vhost_net, let's just get rid...
2017 Jan 26
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...turned out under certain circumstances vhost_net corrupts avail.idx by using wrong endianness. I managed to track the problem down (I'm pretty sure). It boils down to the following. When stopping vhost userspace (QEMU) calls vhost_net_set_backend with the fd argument set to -1, this leads to is_le being reset in vhost_vq_init_access. On a BE system resetting to legacy means resetting to BE. Usually this is not a problem, but in the case when oldubufs is not zero (which is not likely if no network stress applied) it is a problem. That code path needs to write avail.idx, and ends up using wr...
2017 Jan 26
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...turned out under certain circumstances vhost_net corrupts avail.idx by using wrong endianness. I managed to track the problem down (I'm pretty sure). It boils down to the following. When stopping vhost userspace (QEMU) calls vhost_net_set_backend with the fd argument set to -1, this leads to is_le being reset in vhost_vq_init_access. On a BE system resetting to legacy means resetting to BE. Usually this is not a problem, but in the case when oldubufs is not zero (which is not likely if no network stress applied) it is a problem. That code path needs to write avail.idx, and ends up using wr...
2017 Jan 30
3
[PATCH] vhost: fix initialization for vq->is_le
Currently, under certain circumstances vhost_init_is_le does just a part of the initialization job, and depends on vhost_reset_is_le being called too. For this reason vhost_vq_init_access used to call vhost_reset_is_le when vq->private_data is NULL. This is not only counter intuitive, but also real a problem because it breaks vhost_net. The bug was...
2017 Jan 30
3
[PATCH] vhost: fix initialization for vq->is_le
Currently, under certain circumstances vhost_init_is_le does just a part of the initialization job, and depends on vhost_reset_is_le being called too. For this reason vhost_vq_init_access used to call vhost_reset_is_le when vq->private_data is NULL. This is not only counter intuitive, but also real a problem because it breaks vhost_net. The bug was...
2017 Jan 29
1
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...; > >> >From b26e2bbdc03832a0204ee2b42967a1b49a277dc8 Mon Sep 17 00:00:00 2001 > > >> From: Halil Pasic <pasic at linux.vnet.ibm.com> > > >> Date: Thu, 26 Jan 2017 00:06:15 +0100 > > >> Subject: [PATCH] vhost: remove useless/dangerous reset of is_le > > >> > > >> The reset of is_le does no good, but it contributes its fair share to a > > >> bug in vhost_net, which occurs if we have some oldubufs when stopping and > > >> setting a fd = -1 as a backend. Instead of doing something convoluted in &gt...
2017 Jan 29
1
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...; > >> >From b26e2bbdc03832a0204ee2b42967a1b49a277dc8 Mon Sep 17 00:00:00 2001 > > >> From: Halil Pasic <pasic at linux.vnet.ibm.com> > > >> Date: Thu, 26 Jan 2017 00:06:15 +0100 > > >> Subject: [PATCH] vhost: remove useless/dangerous reset of is_le > > >> > > >> The reset of is_le does no good, but it contributes its fair share to a > > >> bug in vhost_net, which occurs if we have some oldubufs when stopping and > > >> setting a fd = -1 as a backend. Instead of doing something convoluted in &gt...
2015 Oct 30
5
[PATCH] vhost: move is_le setup to the backend
The vq->is_le field is used to fix endianness when accessing the vring via the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: 1) host is big endian and device is modern virtio 2) host has cross-endian support and device is legacy virtio with a different endianness than the host Both...
2015 Oct 30
5
[PATCH] vhost: move is_le setup to the backend
The vq->is_le field is used to fix endianness when accessing the vring via the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: 1) host is big endian and device is modern virtio 2) host has cross-endian support and device is legacy virtio with a different endianness than the host Both...
2017 Jan 30
0
[PATCH] vhost: fix initialization for vq->is_le
On Mon, 30 Jan 2017 11:09:36 +0100 Halil Pasic <pasic at linux.vnet.ibm.com> wrote: > Currently, under certain circumstances vhost_init_is_le does just a part > of the initialization job, and depends on vhost_reset_is_le being called > too. For this reason vhost_vq_init_access used to call vhost_reset_is_le > when vq->private_data is NULL. This is not only counter intuitive, but > also real a problem because it breaks vho...
2016 Feb 16
5
[PATCH v2 0/3] vhost: cross-endian code cleanup
This series is a new tentative to have cleaner cross-endian code. Patches 1/3 is new: it fixes a side-effect in case vhost_init_used() fails. Patch 2/3 comes from v1: it renames cross-endian helpers Patch 3/3 is new: it simply renames vhost_init_used() as suggested by Michael. --- Greg Kurz (3): vhost: fix error path in vhost_init_used() vhost: rename cross-endian helpers
2016 Feb 16
5
[PATCH v2 0/3] vhost: cross-endian code cleanup
This series is a new tentative to have cleaner cross-endian code. Patches 1/3 is new: it fixes a side-effect in case vhost_init_used() fails. Patch 2/3 comes from v1: it renames cross-endian helpers Patch 3/3 is new: it simply renames vhost_init_used() as suggested by Michael. --- Greg Kurz (3): vhost: fix error path in vhost_init_used() vhost: rename cross-endian helpers
2016 Feb 10
3
[PATCH 1/2] vhost: helpers to enable/disable vring endianness
...mes from a virtio 1.0 device > which is always little endian > - the architecture is bi-endian and the vring comes from a legacy virtio > device with a different endianness than the endianness of the host (aka > legacy cross-endian) > > These cases are handled by the vq->is_le and the optional vq->user_be, > with the following logic: > - if none of the fields is enabled, vhost access the vring without byteswap > - if the vring is virtio 1.0 and the host is big endian, vq->is_le is > enabled to enforce little endian access to the vring > - if the v...
2016 Feb 10
3
[PATCH 1/2] vhost: helpers to enable/disable vring endianness
...mes from a virtio 1.0 device > which is always little endian > - the architecture is bi-endian and the vring comes from a legacy virtio > device with a different endianness than the endianness of the host (aka > legacy cross-endian) > > These cases are handled by the vq->is_le and the optional vq->user_be, > with the following logic: > - if none of the fields is enabled, vhost access the vring without byteswap > - if the vring is virtio 1.0 and the host is big endian, vq->is_le is > enabled to enforce little endian access to the vring > - if the v...
2016 Jan 11
2
[PATCH] vhost: move is_le setup to the backend
The vq->is_le field is used to fix endianness when accessing the vring via the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: 1) host is big endian and device is modern virtio 2) host has cross-endian support and device is legacy virtio with a different endianness than the host Both...
2016 Jan 11
2
[PATCH] vhost: move is_le setup to the backend
The vq->is_le field is used to fix endianness when accessing the vring via the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: 1) host is big endian and device is modern virtio 2) host has cross-endian support and device is legacy virtio with a different endianness than the host Both...
2017 Jan 27
0
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...-------------- > >> >From b26e2bbdc03832a0204ee2b42967a1b49a277dc8 Mon Sep 17 00:00:00 2001 > >> From: Halil Pasic <pasic at linux.vnet.ibm.com> > >> Date: Thu, 26 Jan 2017 00:06:15 +0100 > >> Subject: [PATCH] vhost: remove useless/dangerous reset of is_le > >> > >> The reset of is_le does no good, but it contributes its fair share to a > >> bug in vhost_net, which occurs if we have some oldubufs when stopping and > >> setting a fd = -1 as a backend. Instead of doing something convoluted in > >> vhost_net...
2015 Nov 12
1
[PATCH] vhost: move is_le setup to the backend
On Thu, 12 Nov 2015 15:46:30 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Fri, Oct 30, 2015 at 12:42:35PM +0100, Greg Kurz wrote: > > The vq->is_le field is used to fix endianness when accessing the vring via > > the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: > > > > 1) host is big endian and device is modern virtio > > > > 2) host has cross-endian support and device is legacy virtio...
2015 Nov 12
1
[PATCH] vhost: move is_le setup to the backend
On Thu, 12 Nov 2015 15:46:30 +0200 "Michael S. Tsirkin" <mst at redhat.com> wrote: > On Fri, Oct 30, 2015 at 12:42:35PM +0100, Greg Kurz wrote: > > The vq->is_le field is used to fix endianness when accessing the vring via > > the cpu_to_vhost16() and vhost16_to_cpu() helpers in the following cases: > > > > 1) host is big endian and device is modern virtio > > > > 2) host has cross-endian support and device is legacy virtio...