[Qemu-devel] [PATCH] virtio-net: fix offload ctrl endian

Jason Wang posted 1 patch 6 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1500035226-6530-1-git-send-email-jasowang@redhat.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
hw/net/virtio-net.c | 1 +
1 file changed, 1 insertion(+)
[Qemu-devel] [PATCH] virtio-net: fix offload ctrl endian
Posted by Jason Wang 6 years, 9 months ago
Spec said offloads should be le64, so use virtio_ldq_p() to guarantee
valid endian.

Fixes: 644c98587d4c ("virtio-net: dynamic network offloads configuration")
Cc: qemu-stable@nongnu.org
Cc: Dmitry Fleytman <dfleytma@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 hw/net/virtio-net.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 657d099..eb8f5b6 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -757,6 +757,7 @@ static int virtio_net_handle_offloads(VirtIONet *n, uint8_t cmd,
 
     if (cmd == VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET) {
         uint64_t supported_offloads;
+        offloads = virtio_ldq_p(vdev, &offloads);
 
         if (!n->has_vnet_hdr) {
             return VIRTIO_NET_ERR;
-- 
2.7.4


Re: [Qemu-devel] [PATCH] virtio-net: fix offload ctrl endian
Posted by Michael S. Tsirkin 6 years, 9 months ago
On Fri, Jul 14, 2017 at 08:27:06PM +0800, Jason Wang wrote:
> Spec said offloads should be le64, so use virtio_ldq_p() to guarantee
> valid endian.
> 
> Fixes: 644c98587d4c ("virtio-net: dynamic network offloads configuration")
> Cc: qemu-stable@nongnu.org
> Cc: Dmitry Fleytman <dfleytma@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
>  hw/net/virtio-net.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 657d099..eb8f5b6 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -757,6 +757,7 @@ static int virtio_net_handle_offloads(VirtIONet *n, uint8_t cmd,
>  
>      if (cmd == VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET) {
>          uint64_t supported_offloads;

An empty line wouldn't hurt here.

> +        offloads = virtio_ldq_p(vdev, &offloads);
>  
>          if (!n->has_vnet_hdr) {
>              return VIRTIO_NET_ERR;
> -- 
> 2.7.4

Re: [Qemu-devel] [PATCH] virtio-net: fix offload ctrl endian
Posted by Jason Wang 6 years, 9 months ago

On 2017年07月14日 22:26, Michael S. Tsirkin wrote:
> On Fri, Jul 14, 2017 at 08:27:06PM +0800, Jason Wang wrote:
>> Spec said offloads should be le64, so use virtio_ldq_p() to guarantee
>> valid endian.
>>
>> Fixes: 644c98587d4c ("virtio-net: dynamic network offloads configuration")
>> Cc: qemu-stable@nongnu.org
>> Cc: Dmitry Fleytman <dfleytma@redhat.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>>   hw/net/virtio-net.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index 657d099..eb8f5b6 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -757,6 +757,7 @@ static int virtio_net_handle_offloads(VirtIONet *n, uint8_t cmd,
>>   
>>       if (cmd == VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET) {
>>           uint64_t supported_offloads;
> An empty line wouldn't hurt here.

I apply this patch by adding a new line here.

Thanks

>
>> +        offloads = virtio_ldq_p(vdev, &offloads);
>>   
>>           if (!n->has_vnet_hdr) {
>>               return VIRTIO_NET_ERR;
>> -- 
>> 2.7.4