• Simon Horman's avatar
    bnxt_en: avoid truncation of per rx run debugfs filename · 1418e9ab
    Simon Horman authored
    Although it seems unlikely in practice - there would need to be
    rx ring indexes greater than 10^10 - it is theoretically possible
    for the filename of per rx ring debugfs files to be truncated.
    
    This is because although a 16 byte buffer is provided, the length
    of the filename is restricted to 10 bytes. Remove this restriction
    and allow the entire buffer to be used.
    
    Also reduce the buffer to 12 bytes, which is sufficient.
    
    Given that the range of rx ring indexes likely much smaller than the
    maximum range of a 32-bit signed integer, a smaller buffer could be
    used, with some further changes.  But this change seems simple, robust,
    and has minimal stack overhead.
    
    Flagged by gcc-14:
    
      .../bnxt_debugfs.c: In function 'bnxt_debug_dev_init':
      drivers/net/ethernet/broadcom/bnxt/bnxt_debugfs.c:69:30: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 10 [-Wformat-truncation=]
         69 |         snprintf(qname, 10, "%d", ring_idx);
            |                              ^~
      In function 'debugfs_dim_ring_init',
          inlined from 'bnxt_debug_dev_init' at .../bnxt_debugfs.c:87:4:
      .../bnxt_debugfs.c:69:29: note: directive argument in the range [-2147483643, 2147483646]
         69 |         snprintf(qname, 10, "%d", ring_idx);
            |                             ^~~~
      .../bnxt_debugfs.c:69:9: note: 'snprintf' output between 2 and 12 bytes into a destination of size 10
         69 |         snprintf(qname, 10, "%d", ring_idx);
            |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Compile tested only
    Signed-off-by: default avatarSimon Horman <horms@kernel.org>
    Reviewed-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Link: https://patch.msgid.link/20240813-bnxt-str-v2-2-872050a157e7@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    1418e9ab
bnxt_debugfs.c 2.27 KB