DPDK patches and discussions
 help / color / mirror / Atom feed
From: Sachin Saxena <sachin.saxena@nxp.com>
To: Jie Hai <haijie1@huawei.com>, "dev@dpdk.org" <dev@dpdk.org>,
	Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: "lihuisong@huawei.com" <lihuisong@huawei.com>,
	"fengchengwen@huawei.com" <fengchengwen@huawei.com>
Subject: RE: [PATCH 15/21] bus/fslmc: replace strtok with strtok_r
Date: Wed, 15 Nov 2023 02:41:15 +0000	[thread overview]
Message-ID: <AS8PR04MB8562AC68E6B0630E4DD43A2EE3B1A@AS8PR04MB8562.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20231113104550.2138654-16-haijie1@huawei.com>

Acked-by: Sachin Saxena <sachin.saxena@nxp.com>

> -----Original Message-----
> From: Jie Hai <haijie1@huawei.com>
> Sent: 13 November 2023 04:16 PM
> To: dev@dpdk.org; Hemant Agrawal <hemant.agrawal@nxp.com>; Sachin
> Saxena <sachin.saxena@nxp.com>
> Cc: haijie1@huawei.com; lihuisong@huawei.com; fengchengwen@huawei.com
> Subject: [PATCH 15/21] bus/fslmc: replace strtok with strtok_r
> 
> 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.
> 
> The strtok() is non-reentrant, it is better to replace it with a reentrant function.
> 
> Signed-off-by: Jie Hai <haijie1@huawei.com>
> ---
>  drivers/bus/fslmc/fslmc_bus.c            | 5 +++--
>  drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 4 ++--
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
> index 57bfb5111a97..7960ad3979ef 100644
> --- a/drivers/bus/fslmc/fslmc_bus.c
> +++ b/drivers/bus/fslmc/fslmc_bus.c
> @@ -131,6 +131,7 @@ scan_one_fslmc_device(char *dev_name)  {
>  	char *dup_dev_name, *t_ptr;
>  	struct rte_dpaa2_device *dev = NULL;
> +	char *sp = NULL;
>  	int ret = -1;
> 
>  	if (!dev_name)
> @@ -168,7 +169,7 @@ scan_one_fslmc_device(char *dev_name)
>  	}
> 
>  	/* Parse the device name and ID */
> -	t_ptr = strtok(dup_dev_name, ".");
> +	t_ptr = strtok_r(dup_dev_name, ".", &sp);
>  	if (!t_ptr) {
>  		DPAA2_BUS_ERR("Invalid device found: (%s)", dup_dev_name);
>  		ret = -EINVAL;
> @@ -199,7 +200,7 @@ scan_one_fslmc_device(char *dev_name)
>  	else
>  		dev->dev_type = DPAA2_UNKNOWN;
> 
> -	t_ptr = strtok(NULL, ".");
> +	t_ptr = strtok_r(NULL, ".", &sp);
>  	if (!t_ptr) {
>  		DPAA2_BUS_ERR("Skipping invalid device (%s)",
> dup_dev_name);
>  		ret = 0;
> diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> index 4aec7b2cd8ba..09a1a2b23787 100644
> --- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> +++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c
> @@ -129,7 +129,7 @@ dpaa2_affine_dpio_intr_to_respective_core(int32_t
> dpio_id, int cpu_id)
>  	uint32_t cpu_mask = 1;
>  	int ret;
>  	size_t len = 0;
> -	char *temp = NULL, *token = NULL;
> +	char *temp = NULL, *token = NULL, *sp = NULL;
>  	char string[STRING_LEN], command[COMMAND_LEN];
>  	FILE *file;
> 
> @@ -141,7 +141,7 @@ dpaa2_affine_dpio_intr_to_respective_core(int32_t
> dpio_id, int cpu_id)
>  	}
>  	while (getline(&temp, &len, file) != -1) {
>  		if ((strstr(temp, string)) != NULL) {
> -			token = strtok(temp, ":");
> +			token = strtok_r(temp, ":", &sp);
>  			break;
>  		}
>  	}
> --
> 2.30.0


  reply	other threads:[~2023-11-15  9:40 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-13 10:45 [PATCH 00/21] " Jie Hai
2023-11-13 10:45 ` [PATCH 01/21] app/graph: " Jie Hai
2023-11-13 10:45 ` [PATCH 02/21] app/test-bbdev: " Jie Hai
2023-11-13 10:45 ` [PATCH 03/21] app/test-compress-perf: " Jie Hai
2023-11-13 10:45 ` [PATCH 04/21] app/test-crypto-perf: " Jie Hai
2023-11-13 10:45 ` [PATCH 05/21] app/test-dma-perf: " Jie Hai
2023-11-13 10:45 ` [PATCH 06/21] app/test-fib: " Jie Hai
2023-11-13 10:45 ` [PATCH 07/21] app/dpdk-test-flow-perf: " Jie Hai
2023-11-13 10:45 ` [PATCH 08/21] app/test-mldev: " Jie Hai
2023-11-13 10:45 ` [PATCH 09/21] lib/dmadev: " Jie Hai
2023-11-13 10:45 ` [PATCH 10/21] lib/eal: " Jie Hai
2023-11-13 16:27   ` Stephen Hemminger
2023-11-14  1:05     ` fengchengwen
2023-11-14  1:08       ` Stephen Hemminger
2023-11-13 10:45 ` [PATCH 11/21] lib/ethdev: " Jie Hai
2023-11-13 10:45 ` [PATCH 12/21] lib/eventdev: " Jie Hai
2023-11-13 10:45 ` [PATCH 13/21] lib/telemetry: " Jie Hai
2023-11-13 10:45 ` [PATCH 14/21] " Jie Hai
2023-11-13 10:45 ` [PATCH 15/21] bus/fslmc: " Jie Hai
2023-11-15  2:41   ` Sachin Saxena [this message]
2023-11-13 10:45 ` [PATCH 16/21] common/cnxk: " Jie Hai
2023-11-13 10:45 ` [PATCH 17/21] event/cnxk: " Jie Hai
2023-11-13 10:45 ` [PATCH 18/21] net/ark: " Jie Hai
2023-11-13 10:45 ` [PATCH 19/21] raw/cnxk_gpio: " Jie Hai
2023-11-13 10:45 ` [PATCH 20/21] examples/l2fwd-crypto: " Jie Hai
2023-11-13 10:45 ` [PATCH 21/21] examples/vhost: " Jie Hai
2023-11-13 16:26   ` Stephen Hemminger
2023-11-13 11:00 ` [PATCH 00/21] " Thomas Monjalon
2023-11-13 11:33 ` fengchengwen
2023-11-13 16:25 ` Stephen Hemminger
2023-11-13 17:09 ` Tyler Retzlaff
2023-11-14 12:50   ` Jie Hai
2023-11-14 17:32     ` Tyler Retzlaff
2023-11-14 17:34       ` Tyler Retzlaff
2023-11-14 17:49         ` Tyler Retzlaff
2023-11-15  3:02           ` fengchengwen
2023-11-15 11:27             ` Morten Brørup
2023-11-15 15:08               ` Stephen Hemminger
2023-11-21  3:32                 ` Jie Hai
2024-02-01 11:13                   ` David Marchand
2023-11-14  8:41 ` [PATCH v2 00/22] replace strtok with reentrant version Jie Hai
2023-11-14  8:41   ` [PATCH v2 01/22] app/graph: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 02/22] app/bbdev: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 03/22] app/compress-perf: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 04/22] app/crypto-perf: " Jie Hai
2024-01-11 17:10     ` Power, Ciara
2023-11-14  8:41   ` [PATCH v2 05/22] app/dma-perf: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 06/22] app/test-fib: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 07/22] app/flow-perf: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 08/22] app/test-mldev: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 09/22] dmadev: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 10/22] eal: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 11/22] ethdev: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 12/22] eventdev: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 13/22] security: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 14/22] telemetry: " Jie Hai
2024-01-11 17:13     ` Power, Ciara
2023-11-14  8:41   ` [PATCH v2 15/22] bus/fslmc: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 16/22] common/cnxk: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 17/22] event/cnxk: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 18/22] net/ark: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 19/22] raw/cnxk_gpio: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 20/22] examples/l2fwd-crypto: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 21/22] examples/vhost: " Jie Hai
2023-11-14  8:41   ` [PATCH v2 22/22] devtools: check for some reentrant function Jie Hai
2023-11-14 10:59 ` [PATCH v3 00/22] replace strtok with reentrant version Jie Hai
2023-11-14 10:59   ` [PATCH v3 01/22] app/graph: " Jie Hai
2023-11-15  0:07     ` Stephen Hemminger
2023-11-14 10:59   ` [PATCH v3 02/22] app/bbdev: " Jie Hai
2023-11-15  0:09     ` Stephen Hemminger
2023-11-14 10:59   ` [PATCH v3 03/22] app/compress-perf: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 04/22] app/crypto-perf: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 05/22] app/dma-perf: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 06/22] app/test-fib: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 07/22] app/flow-perf: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 08/22] app/test-mldev: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 09/22] dmadev: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 10/22] eal: " Jie Hai
2023-11-15  7:17     ` [EXT] " Amit Prakash Shukla
2023-11-14 10:59   ` [PATCH v3 11/22] ethdev: " Jie Hai
2023-12-16 10:01     ` Andrew Rybchenko
2023-11-14 10:59   ` [PATCH v3 12/22] eventdev: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 13/22] security: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 14/22] telemetry: " Jie Hai
2023-11-14 10:59   ` [PATCH v3 15/22] bus/fslmc: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 16/22] common/cnxk: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 17/22] event/cnxk: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 18/22] net/ark: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 19/22] raw/cnxk_gpio: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 20/22] examples/l2fwd-crypto: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 21/22] examples/vhost: " Jie Hai
2023-11-14 11:00   ` [PATCH v3 22/22] devtools: check for some reentrant function Jie Hai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AS8PR04MB8562AC68E6B0630E4DD43A2EE3B1A@AS8PR04MB8562.eurprd04.prod.outlook.com \
    --to=sachin.saxena@nxp.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=haijie1@huawei.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=lihuisong@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).