Multiple threads calling the same function may cause condition race issues, which often leads to abnormal behavior and can cause more serious vulnerabilities such as abnormal termination, denial of service, and compromised data integrity.
This patchset replaces strtok with strtok_r in app, example, lib and drivers. And adds check for use of strtok in checkpatches.sh. -- v6: 1. adapt to the newest codes. 2. fix compile error. v5: 1. remove CC stable for some patch. 2. replace strtok for all files. v4: 1. fix mispellings. 2. add Acked-bys and Reviewd-bys. 3. remove some patch and add new. v3: 1. fix compile error. 2. use strtok_r instead. v2: 1. fix commit log. 2. add check in checkpatches.sh. 3. replace strtok_r with strtok_s. 4. add Acked-by. -- Jie Hai (25): app/bbdev: replace strtok with reentrant version app/compress-perf: replace strtok with reentrant version app/crypto-perf: replace strtok with reentrant version app/dma-perf: replace strtok with reentrant version app/flow-perf: replace strtok with reentrant version app/test-mldev: replace strtok with reentrant version app/test-fib: replace strtok with reentrant version dmadev: replace strtok with reentrant version eal: replace strtok with reentrant version ethdev: replace strtok with reentrant version eventdev: replace strtok with reentrant version security: replace strtok with reentrant version telemetry: replace strtok with reentrant version bus/fslmc: replace strtok with reentrant version common/cnxk: replace strtok with reentrant version event/cnxk: replace strtok with reentrant version net/ark: replace strtok with reentrant version raw/cnxk_gpio: replace strtok with reentrant version net/cnxk: replace strtok with reentrant version common/qat: replace strtok with reentrant version net/mlx5: replace strtok with reentrant version examples/l2fwd-crypto: replace strtok with reentrant version examples/vhost: replace strtok with reentrant version devtools: check for some reentrant function eal/linux: install rte_os_shim.h file app/test-bbdev/test_bbdev_vector.c | 42 +++++++++++-------- .../comp_perf_options_parse.c | 17 ++++---- app/test-crypto-perf/cperf_options_parsing.c | 17 ++++---- .../cperf_test_vector_parsing.c | 11 +++-- app/test-dma-perf/main.c | 9 ++-- app/test-fib/main.c | 11 ++--- app/test-flow-perf/main.c | 23 +++++----- app/test-mldev/ml_options.c | 19 +++++---- devtools/checkpatches.sh | 8 ++++ drivers/bus/fslmc/fslmc_bus.c | 6 ++- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 5 ++- drivers/common/cnxk/cnxk_telemetry_nix.c | 13 +++--- drivers/common/qat/qat_device.c | 6 ++- drivers/event/cnxk/cnxk_eventdev.c | 12 ++++-- drivers/event/cnxk/cnxk_tim_evdev.c | 12 +++--- drivers/net/ark/ark_pktchkr.c | 11 ++--- drivers/net/ark/ark_pktgen.c | 11 ++--- drivers/net/cnxk/cnxk_ethdev_sec_telemetry.c | 6 ++- drivers/net/mlx5/mlx5_testpmd.c | 5 ++- drivers/raw/cnxk_gpio/cnxk_gpio.c | 7 ++-- examples/l2fwd-crypto/main.c | 7 ++-- examples/vhost/main.c | 4 +- lib/dmadev/rte_dmadev.c | 5 ++- lib/eal/common/eal_common_memory.c | 8 ++-- lib/eal/linux/include/meson.build | 1 + lib/ethdev/rte_ethdev_telemetry.c | 10 +++-- lib/eventdev/rte_event_eth_rx_adapter.c | 39 ++++++++--------- lib/eventdev/rte_eventdev.c | 18 ++++---- lib/security/rte_security.c | 4 +- lib/telemetry/telemetry.c | 6 ++- 30 files changed, 208 insertions(+), 145 deletions(-) -- 2.33.0