[Spice-devel] [PATCH spice-protocol 2/3] qxl_dev: Fix alignment for QXLReleaseInfo

Frediano Ziglio fziglio at redhat.com
Wed Jun 12 05:54:29 UTC 2019


ping 3

> 
> ping
> 
> > 
> > ping
> > 
> > > 
> > > Do not declare the structure as aligned.
> > > The start/end-packed.h headers affects only MingW or Microsoft
> > > compilers. To have unaligned structure with GCC compiler you have
> > > to use SPICE_ATTR_PACKED. This way the definition are the same for
> > > all compiler.
> > > This structure is used in a lot of QXL structures which are not
> > > aligned causing to have an aligned structure to be potentially
> > > unaligned.
> > > As this structure has no holes this change does not make any size
> > > change using any compiler.
> > > The change will only change the alignment from 4/8 to 1.
> > > This could affect structures containing this union however beside
> > > packed structure in qxl_dev.h (which are not affected) there are no
> > > other usages as such by spice-gtk, Qemu or spice-server.
> > > 
> > > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > > ---
> > >  spice/qxl_dev.h | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
> > > index a9cc4f4..659f930 100644
> > > --- a/spice/qxl_dev.h
> > > +++ b/spice/qxl_dev.h
> > > @@ -275,7 +275,7 @@ typedef struct SPICE_ATTR_ALIGNED(4)
> > > SPICE_ATTR_PACKED
> > > QXLRam {
> > >  
> > >  } QXLRam;
> > >  
> > > -typedef union QXLReleaseInfo {
> > > +typedef union SPICE_ATTR_PACKED QXLReleaseInfo {
> > >      uint64_t id;      // in
> > >      uint64_t next;    // out
> > >  } QXLReleaseInfo;
> > 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list