• Simon Horman's avatar
    gve: Use ethtool_sprintf/puts() to fill stats strings · ba8bcb01
    Simon Horman authored
    
    
    Make use of standard helpers to simplify filling in stats strings.
    
    The first two ethtool_puts() changes address the following fortification
    warnings flagged by W=1 builds with clang-18. (The last ethtool_puts
    change does not because the warning relates to writing beyond the first
    element of an array, and gve_gstrings_priv_flags only has one element.)
    
    .../fortify-string.h:562:4: warning: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
      562 |                         __read_overflow2_field(q_size_field, size);
          |                         ^
    .../fortify-string.h:562:4: warning: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
    
    Likewise, the same changes resolve the same problems flagged by Smatch.
    
    .../gve_ethtool.c:100 gve_get_strings() error: __builtin_memcpy() '*gve_gstrings_main_stats' too small (32 vs 576)
    .../gve_ethtool.c:120 gve_get_strings() error: __builtin_memcpy() '*gve_gstrings_adminq_stats' too small (32 vs 512)
    
    Compile tested only.
    Reviewed-by: default avatarShailend Chand <shailend@google.com>
    Reviewed-by: default avatarLarysa Zaremba <larysa.zaremba@intel.com>
    Signed-off-by: default avatarSimon Horman <horms@kernel.org>
    Acked-by: default avatarJustin Stitt <justinstitt@google.com>
    Link: https://lore.kernel.org/r/20240508-gve-comma-v2-2-1ac919225f13@kernel.org
    
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    ba8bcb01
gve_ethtool.c 24 KB