• Kees Cook's avatar
    cxgb3: Avoid potential string truncation in desc · bc044ae9
    Kees Cook authored
    Builds with W=1 were warning about potential string truncations:
    
    drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c: In function 'cxgb_up':
    drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c:394:38: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 5 and 20 [-Wformat-truncation=]
      394 |                                  "%s-%d", d->name, pi->first_qset + i);
          |                                      ^~
    In function 'name_msix_vecs',
        inlined from 'cxgb_up' at drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c:1264:3: drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c:394:34: note: directive argument in the range [-2147483641, 509]
      394 |                                  "%s-%d", d->name, pi->first_qset + i);
          |                                  ^~~~~~~
    drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c:393:25: note: 'snprintf' output between 3 and 28 bytes into a destination of size 21
      393 |                         snprintf(adap->msix_info[msi_idx].desc, n,
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      394 |                                  "%s-%d", d->name, pi->first_qset + i);
          |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Avoid open-coded %NUL-termination (this code was assuming snprintf
    wasn't %NUL terminating when it does -- likely thinking of strncpy),
    and grow the size of the string to handle a maximal value.
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202312100937.ZPZCARhB-lkp@intel.com/
    Cc: Raju Rangoju <rajur@chelsio.com>
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20231212220954.work.219-kees@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    bc044ae9
adapter.h 11 KB