• Simon Horman's avatar
    octeontx2-af: update type of prof fields in nix_aw_enq_req · 709d0b88
    Simon Horman authored
    Update type of prof and prof_mask fields in nix_as_enq_req
    from u64 to struct nix_bandprof_s, which is 128 bits wide.
    
    This is to address warnings with compiling with gcc-12 W=1
    regarding string fortification.
    
    Although the union of which these fields are a member is 128bits
    wide, and thus writing a 128bit entity is safe, the compiler flags
    a problem as the field being written is only 64 bits wide.
    
      CC [M]  drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.o
    scripts/Makefile.build:252: ./drivers/net/ethernet/marvell/octeontx2/nic/Makefile: otx2_dcbnl.o is added to multiple modules: rvu_nicpf rvu_nicvf
      CC [M]  drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.o
      CC [M]  drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.o
      CC [M]  drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.o
      CC [M]  drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.o
    In file included from ./include/linux/string.h:254,
                     from ./include/linux/bitmap.h:11,
                     from ./include/linux/cpumask.h:12,
                     from ./arch/x86/include/asm/paravirt.h:17,
                     from ./arch/x86/include/asm/cpuid.h:62,
                     from ./arch/x86/include/asm/processor.h:19,
                     from ./arch/x86/include/asm/timex.h:5,
                     from ./include/linux/timex.h:67,
                     from ./include/linux/time32.h:13,
                     from ./include/linux/time.h:60,
                     from ./include/linux/stat.h:19,
                     from ./include/linux/module.h:13,
                     from drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:8:
    In function 'fortify_memcpy_chk',
        inlined from 'rvu_nix_blk_aq_enq_inst' at drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:969:4:
    ./include/linux/fortify-string.h:529:25: error: call to '__read_overflow2_field' declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Werror=attribute-warning]
      529 |                         __read_overflow2_field(q_size_field, size);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In function 'fortify_memcpy_chk',
        inlined from 'rvu_nix_blk_aq_enq_inst' at drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c:984:4:
    ./include/linux/fortify-string.h:529:25: error: call to '__read_overflow2_field' declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Werror=attribute-warning]
      529 |                         __read_overflow2_field(q_size_field, size);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cc1: all warnings being treated as errors
    
    Compile tested only!
    Signed-off-by: default avatarSimon Horman <horms@kernel.org>
    Reviewed-by: default avatarLeon Romanovsky <leonro@nvidia.com>
    Link: https://lore.kernel.org/r/20230329112356.458072-1-horms@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    709d0b88
mbox.h 56.7 KB