[PATCH v8 00/17] fix memset warnings reported by PVS studio
Stephen Hemminger
stephen at networkplumber.org
Sun Feb 16 17:52:59 CET 2025
This series handles memset related bugs identified by PVS Studio.
This tool will correctly flag places where memset could be deleted.
See: https://pvs-studio.com/en/docs/warnings/v597/
Compilers are free to optimize away memset called before free.
This is handled in other libraries and OS's by the use of special
versions of zeroing and free.
There are three types of anti-patterns:
1. trying to clear a key or sensitive data
2. being overly paranoid and always calling memset that can be removed.
3. unnecessary arrays (cut and paste?) that can be removed.
v8 - annotate the unit test so that it passes with ASAN
- fix test for cmdline_cirbuf
- additional memset fix in QAT
Stephen Hemminger (17):
eal: introduce new secure memory zero
app/test: use unit test runner for string tests
app/test: add test for rte_memzero_explicit
app/test: remove unused variable
eal: add new secure free function
app/test: use unit test runner for malloc tests
app/test: add test for rte_free_sensitive
common/cnxk: remove unused variable
crypto/qat: force zero of keys
crypto/qat: fix size calculation for memset
crypto/qat: use secure free for keys
bus/uacce: remove memset before free
compress/octeontx: remove unnecessary memset
test: remove unneeded memset
net/ntnic: check result of malloc
net/ntnic: remove unnecessary memset
devtools/cocci: add script to find problematic memset
app/test/test_cmdline_cirbuf.c | 4 -
app/test/test_malloc.c | 194 ++++++++++--------
app/test/test_string_fns.c | 74 ++++++-
devtools/cocci/memset_free.cocci | 9 +
drivers/bus/uacce/uacce.c | 1 -
drivers/common/cnxk/roc_npc_utils.c | 4 -
drivers/compress/octeontx/otx_zip.c | 1 -
drivers/compress/octeontx/otx_zip_pmd.c | 2 -
drivers/crypto/qat/qat_asym.c | 5 +-
drivers/crypto/qat/qat_sym_session.c | 51 ++---
drivers/net/ntnic/nthw/core/nthw_hif.c | 5 +-
drivers/net/ntnic/nthw/core/nthw_iic.c | 5 +-
drivers/net/ntnic/nthw/core/nthw_pcie3.c | 5 +-
drivers/net/ntnic/nthw/core/nthw_rpf.c | 5 +-
drivers/net/ntnic/nthw/core/nthw_sdc.c | 5 +-
drivers/net/ntnic/nthw/core/nthw_si5340.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_cat.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_csu.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_flm.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_hfu.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_hsh.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_info.c | 5 +-
.../net/ntnic/nthw/flow_filter/flow_nthw_km.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_pdb.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_qsl.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_rpp_lr.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_slc_lr.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_tx_cpy.c | 1 -
.../ntnic/nthw/flow_filter/flow_nthw_tx_ins.c | 5 +-
.../ntnic/nthw/flow_filter/flow_nthw_tx_rpl.c | 5 +-
.../net/ntnic/nthw/model/nthw_fpga_model.c | 1 -
drivers/net/ntnic/nthw/nthw_rac.c | 4 +-
lib/eal/common/eal_common_string_fns.c | 14 ++
lib/eal/common/rte_malloc.c | 30 ++-
lib/eal/include/rte_malloc.h | 23 +++
lib/eal/include/rte_string_fns.h | 18 ++
lib/eal/version.map | 4 +
37 files changed, 318 insertions(+), 217 deletions(-)
create mode 100644 devtools/cocci/memset_free.cocci
--
2.47.2
More information about the dev
mailing list