[Spice-devel] [PATCH spice-protocol] stats: Avoid holes in SpiceStat structure

Christophe Fergeau cfergeau at redhat.com
Thu Jan 3 15:03:32 UTC 2019


On Thu, Jan 03, 2019 at 02:14:24PM +0000, Frediano Ziglio wrote:
> The SpiceStat structure can be 20 or 24 bytes depending on alignment.
> Being a memory mapped structure potentially used with lockless access
> is not good to have it unaligned.
> The current tool that reads this memory mapped file (reds_stats) is
> able to detect if the structure is either 20 or 24 bytes and act
> according so changing this structure won't affect the behaviour
> (unless you have an old tool but as they are usually packages together
> is quite improbable).
> This will also help on Windows as in that system is not possible for
> reds_stats to implement the same discovery trick implemented on Linux
> as on Windows is not possible to read the size of the file mapping
> (on Windows to implement shared memory you can use a file mapping
> not associated to a file).
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  spice/stats.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/spice/stats.h b/spice/stats.h
> index d4c45ab..2df90a3 100644
> --- a/spice/stats.h
> +++ b/spice/stats.h
> @@ -66,6 +66,8 @@ typedef struct SpiceStat {
>      uint32_t generation;
>      uint32_t num_of_nodes;
>      uint32_t root_index;
> +    /* to avoid holes in the structure on 64 bit */
> +    uint32_t padding;

I don't fully agree with the "on 64 bit" part of the comment, this is
more a matter of how the ABI is defined rather than something necessarily
tied to "64 bit".

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190103/24f6cc87/attachment.sig>


More information about the Spice-devel mailing list