[v3,00/22] replace strtok with reentrant version

Message ID 20231114110006.91148-1-haijie1@huawei.com (mailing list archive)
Headers
Series replace strtok with reentrant version |

Message

Jie Hai Nov. 14, 2023, 10:59 a.m. UTC
  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_s in app, example, lib
and drivers. And adds check for use of strtok in checkpatches.sh.

--
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 (22):
  app/graph: replace strtok with reentrant version
  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/test-fib: replace strtok with reentrant version
  app/flow-perf: replace strtok with reentrant version
  app/test-mldev: 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
  examples/l2fwd-crypto: replace strtok with reentrant version
  examples/vhost: replace strtok with reentrant version
  devtools: check for some reentrant function

 app/graph/graph.c                             |  5 ++-
 app/graph/utils.c                             | 15 +++++---
 app/test-bbdev/test_bbdev_vector.c            | 25 +++++++-----
 .../comp_perf_options_parse.c                 | 16 ++++----
 app/test-crypto-perf/cperf_options_parsing.c  | 16 ++++----
 .../cperf_test_vector_parsing.c               | 10 +++--
 app/test-dma-perf/main.c                      | 13 ++++---
 app/test-fib/main.c                           | 10 ++---
 app/test-flow-perf/main.c                     | 22 ++++++-----
 app/test-mldev/ml_options.c                   | 18 ++++-----
 devtools/checkpatches.sh                      |  8 ++++
 drivers/bus/fslmc/fslmc_bus.c                 |  5 ++-
 drivers/bus/fslmc/portal/dpaa2_hw_dpio.c      |  4 +-
 drivers/common/cnxk/cnxk_telemetry_nix.c      | 12 +++---
 drivers/event/cnxk/cnxk_eventdev.c            | 10 +++--
 drivers/event/cnxk/cnxk_tim_evdev.c           | 11 +++---
 drivers/net/ark/ark_pktchkr.c                 | 10 ++---
 drivers/net/ark/ark_pktgen.c                  | 10 ++---
 drivers/raw/cnxk_gpio/cnxk_gpio.c             |  6 +--
 examples/l2fwd-crypto/main.c                  |  6 +--
 examples/vhost/main.c                         |  3 +-
 lib/dmadev/rte_dmadev.c                       |  4 +-
 lib/eal/common/eal_common_memory.c            |  8 ++--
 lib/ethdev/rte_ethdev_telemetry.c             |  6 ++-
 lib/eventdev/rte_event_eth_rx_adapter.c       | 38 +++++++++----------
 lib/eventdev/rte_eventdev.c                   | 18 ++++-----
 lib/security/rte_security.c                   |  3 +-
 lib/telemetry/telemetry.c                     |  5 ++-
 28 files changed, 177 insertions(+), 140 deletions(-)