Skip to content
  • Greg Kurz's avatar
    5993e3be
    crypto/block: remove redundant struct packing to fix build with gcc 9 · 5993e3be
    Greg Kurz authored
    
    
    Build fails with gcc 9:
    
    crypto/block-luks.c:689:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      689 |     be32_to_cpus(&luks->header.payload_offset);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    crypto/block-luks.c:690:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      690 |     be32_to_cpus(&luks->header.key_bytes);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~
    crypto/block-luks.c:691:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      691 |     be32_to_cpus(&luks->header.master_key_iterations);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    ... a bunch of similar errors...
    
    crypto/block-luks.c:1288:22: error: taking address of packed member of ‘struct QCryptoBlockLUKSKeySlot’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
     1288 |         be32_to_cpus(&luks->header.key_slots[i].stripes);
          |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    
    All members of the QCryptoBlockLUKSKeySlot and QCryptoBlockLUKSHeader are
    naturally aligned and we already check at build time there isn't any
    unwanted padding. Drop the QEMU_PACKED attribute.
    
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarGreg Kurz <groug@kaod.org>
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
    5993e3be
    crypto/block: remove redundant struct packing to fix build with gcc 9
    Greg Kurz authored
    
    
    Build fails with gcc 9:
    
    crypto/block-luks.c:689:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      689 |     be32_to_cpus(&luks->header.payload_offset);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    crypto/block-luks.c:690:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      690 |     be32_to_cpus(&luks->header.key_bytes);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~
    crypto/block-luks.c:691:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
      691 |     be32_to_cpus(&luks->header.master_key_iterations);
          |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    ... a bunch of similar errors...
    
    crypto/block-luks.c:1288:22: error: taking address of packed member of ‘struct QCryptoBlockLUKSKeySlot’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
     1288 |         be32_to_cpus(&luks->header.key_slots[i].stripes);
          |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    
    All members of the QCryptoBlockLUKSKeySlot and QCryptoBlockLUKSHeader are
    naturally aligned and we already check at build time there isn't any
    unwanted padding. Drop the QEMU_PACKED attribute.
    
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarGreg Kurz <groug@kaod.org>
    Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
Loading