Re: [virtio-dev] [PATCH] virtio-balloon: Document byte ordering of poison_val

From: David Hildenbrand
Date: Mon Jul 20 2020 - 04:53:19 EST


On 13.07.20 22:35, Alexander Duyck wrote:
> From: Alexander Duyck <alexander.h.duyck@xxxxxxxxxxxxxxx>
>
> The poison_val field in the virtio_balloon_config is treated as a
> little-endian field by the host. Since we are currently only having to deal
> with a single byte poison value this isn't a problem, however if the value
> should ever expand it would cause byte ordering issues. Document that in
> the code so that we know that if the value should ever expand we need to
> byte swap the value on big-endian architectures.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxxxxxxx>
> ---
> drivers/virtio/virtio_balloon.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
> index 1f157d2f4952..d0fd8f8dc6ed 100644
> --- a/drivers/virtio/virtio_balloon.c
> +++ b/drivers/virtio/virtio_balloon.c
> @@ -974,6 +974,11 @@ static int virtballoon_probe(struct virtio_device *vdev)
> /*
> * Let the hypervisor know that we are expecting a
> * specific value to be written back in balloon pages.
> + *
> + * If the PAGE_POISON value was larger than a byte we would
> + * need to byte swap poison_val here to guarantee it is
> + * little-endian. However for now it is a single byte so we
> + * can pass it as-is.

Yeah, why not (although it's pretty fundamental that 1-byte values don't
need any swapping).

Acked-by: David Hildenbrand <david@xxxxxxxxxx>


--
Thanks,

David / dhildenb