DPDK patches and discussions
 help / color / mirror / Atom feed
* Re: [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 13:19 [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0 Ferruh Yigit
@ 2018-11-01 12:49 ` Shreyansh Jain
  2018-11-01 13:19 ` [dpdk-dev] [PATCH 2/2] eal: " Ferruh Yigit
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Shreyansh Jain @ 2018-11-01 12:49 UTC (permalink / raw)
  To: Ferruh Yigit, Thomas Monjalon; +Cc: Hemant Agrawal, dev, stable

On Thursday 01 November 2018 06:49 PM, Ferruh Yigit wrote:
> build error:
> In function ‘fman_if_init’,
>      .../drivers/bus/dpaa/base/fman/fman.c:186:2:
>      error: ‘strncpy’ output may be truncated copying 4095 bytes from a
>             string of length 4095 [-Werror=stringop-truncation]
>      strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
> 
> strncpy may result a not null-terminated string,
> replaced it with rte_strscpy
> 
> Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---

I don't have gcc 9.0 environment to verify this, but the fix looks 
reasonable to me:

Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
@ 2018-11-01 13:19 Ferruh Yigit
  2018-11-01 12:49 ` Shreyansh Jain
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Ferruh Yigit @ 2018-11-01 13:19 UTC (permalink / raw)
  To: Thomas Monjalon, Hemant Agrawal, Shreyansh Jain; +Cc: dev, Ferruh Yigit, stable

build error:
In function ‘fman_if_init’,
    .../drivers/bus/dpaa/base/fman/fman.c:186:2:
    error: ‘strncpy’ output may be truncated copying 4095 bytes from a
           string of length 4095 [-Werror=stringop-truncation]
    strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);

strncpy may result a not null-terminated string,
replaced it with rte_strscpy

Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/bus/dpaa/base/fman/fman.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
index bdb700423..ddcd7d1f3 100644
--- a/drivers/bus/dpaa/base/fman/fman.c
+++ b/drivers/bus/dpaa/base/fman/fman.c
@@ -13,6 +13,7 @@
 #include <fman.h>
 #include <of.h>
 #include <rte_dpaa_logs.h>
+#include <rte_string_fns.h>
 
 #define QMI_PORT_REGS_OFFSET		0x400
 
@@ -183,7 +184,7 @@ fman_if_init(const struct device_node *dpa_node)
 	}
 	memset(__if, 0, sizeof(*__if));
 	INIT_LIST_HEAD(&__if->__if.bpool_list);
-	strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
+	rte_strscpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
 	__if->node_path[PATH_MAX - 1] = '\0';
 
 	/* Obtain the MAC node used by this interface except macless */
-- 
2.17.2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH 2/2] eal: fix build with gcc 9.0
  2018-11-01 13:19 [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0 Ferruh Yigit
  2018-11-01 12:49 ` Shreyansh Jain
@ 2018-11-01 13:19 ` Ferruh Yigit
  2018-11-01 17:42 ` [dpdk-dev] [PATCH 1/2] bus/dpaa: " Stephen Hemminger
  2018-11-02 19:06 ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
  3 siblings, 0 replies; 10+ messages in thread
From: Ferruh Yigit @ 2018-11-01 13:19 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit, stable

build error:
In function ‘eal_plugin_add’,
    .../lib/librte_eal/common/eal_common_options.c:225:2:
    error: ‘strncpy’ output may be truncated copying 4095 bytes from a
           string of length 4095 [-Werror=stringop-truncation]
    strncpy(solib->name, path, PATH_MAX-1);

strncpy may result a not null-terminated string,
replaced it with rte_strscpy

Fixes: fa9cdc6f8410 ("eal: move plugin loading from linuxapp to common")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_eal/common/eal_common_options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index b82f3ddd1..41e546b24 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -222,7 +222,7 @@ eal_plugin_add(const char *path)
 		return -1;
 	}
 	memset(solib, 0, sizeof(*solib));
-	strncpy(solib->name, path, PATH_MAX-1);
+	rte_strscpy(solib->name, path, PATH_MAX-1);
 	solib->name[PATH_MAX-1] = 0;
 	TAILQ_INSERT_TAIL(&solib_list, solib, next);
 
-- 
2.17.2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 13:19 [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0 Ferruh Yigit
  2018-11-01 12:49 ` Shreyansh Jain
  2018-11-01 13:19 ` [dpdk-dev] [PATCH 2/2] eal: " Ferruh Yigit
@ 2018-11-01 17:42 ` Stephen Hemminger
  2018-11-01 17:45   ` Bruce Richardson
  2018-11-02 19:06 ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
  3 siblings, 1 reply; 10+ messages in thread
From: Stephen Hemminger @ 2018-11-01 17:42 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Thomas Monjalon, Hemant Agrawal, Shreyansh Jain, dev, stable

On Thu,  1 Nov 2018 13:19:50 +0000
Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> build error:
> In function ‘fman_if_init’,
>     .../drivers/bus/dpaa/base/fman/fman.c:186:2:
>     error: ‘strncpy’ output may be truncated copying 4095 bytes from a
>            string of length 4095 [-Werror=stringop-truncation]
>     strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
> 
> strncpy may result a not null-terminated string,
> replaced it with rte_strscpy
> 
> Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Maybe just use strlcpy instead of a DPDK specific function.
That way if Gcc gets smarter it can check that as well.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 17:42 ` [dpdk-dev] [PATCH 1/2] bus/dpaa: " Stephen Hemminger
@ 2018-11-01 17:45   ` Bruce Richardson
  2018-11-01 18:21     ` Ferruh Yigit
  0 siblings, 1 reply; 10+ messages in thread
From: Bruce Richardson @ 2018-11-01 17:45 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Ferruh Yigit, Thomas Monjalon, Hemant Agrawal, Shreyansh Jain,
	dev, stable

On Thu, Nov 01, 2018 at 10:42:31AM -0700, Stephen Hemminger wrote:
> On Thu,  1 Nov 2018 13:19:50 +0000
> Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
> > build error:
> > In function ‘fman_if_init’,
> >     .../drivers/bus/dpaa/base/fman/fman.c:186:2:
> >     error: ‘strncpy’ output may be truncated copying 4095 bytes from a
> >            string of length 4095 [-Werror=stringop-truncation]
> >     strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
> > 
> > strncpy may result a not null-terminated string,
> > replaced it with rte_strscpy
> > 
> > Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Maybe just use strlcpy instead of a DPDK specific function.
> That way if Gcc gets smarter it can check that as well.

+1
While I get the point of strscpy, if strlcpy is good enough for openbsd,
it's good enough for me! :-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 17:45   ` Bruce Richardson
@ 2018-11-01 18:21     ` Ferruh Yigit
  2018-11-01 19:45       ` Thomas Monjalon
  0 siblings, 1 reply; 10+ messages in thread
From: Ferruh Yigit @ 2018-11-01 18:21 UTC (permalink / raw)
  To: Bruce Richardson, Stephen Hemminger
  Cc: Thomas Monjalon, Hemant Agrawal, Shreyansh Jain, dev, stable

On 11/1/2018 5:45 PM, Bruce Richardson wrote:
> On Thu, Nov 01, 2018 at 10:42:31AM -0700, Stephen Hemminger wrote:
>> On Thu,  1 Nov 2018 13:19:50 +0000
>> Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>>
>>> build error:
>>> In function ‘fman_if_init’,
>>>     .../drivers/bus/dpaa/base/fman/fman.c:186:2:
>>>     error: ‘strncpy’ output may be truncated copying 4095 bytes from a
>>>            string of length 4095 [-Werror=stringop-truncation]
>>>     strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
>>>
>>> strncpy may result a not null-terminated string,
>>> replaced it with rte_strscpy
>>>
>>> Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>>
>> Maybe just use strlcpy instead of a DPDK specific function.
>> That way if Gcc gets smarter it can check that as well.
> 
> +1
> While I get the point of strscpy, if strlcpy is good enough for openbsd,
> it's good enough for me! :-)

I prefer strscpy but for both cases return value is not checked at all, so makes
hard to argue the benefit of the more proper return value J

So, as a rule of thumb are we saying strlcpy is dpdk preferred copy function?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 18:21     ` Ferruh Yigit
@ 2018-11-01 19:45       ` Thomas Monjalon
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2018-11-01 19:45 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Bruce Richardson, Stephen Hemminger, Hemant Agrawal,
	Shreyansh Jain, dev, stable

01/11/2018 19:21, Ferruh Yigit:
> On 11/1/2018 5:45 PM, Bruce Richardson wrote:
> > On Thu, Nov 01, 2018 at 10:42:31AM -0700, Stephen Hemminger wrote:
> >> On Thu,  1 Nov 2018 13:19:50 +0000
> >> Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> >>
> >>> build error:
> >>> In function ‘fman_if_init’,
> >>>     .../drivers/bus/dpaa/base/fman/fman.c:186:2:
> >>>     error: ‘strncpy’ output may be truncated copying 4095 bytes from a
> >>>            string of length 4095 [-Werror=stringop-truncation]
> >>>     strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
> >>>
> >>> strncpy may result a not null-terminated string,
> >>> replaced it with rte_strscpy
> >>>
> >>> Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
> >>> Cc: stable@dpdk.org
> >>>
> >>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> >>
> >> Maybe just use strlcpy instead of a DPDK specific function.
> >> That way if Gcc gets smarter it can check that as well.
> > 
> > +1
> > While I get the point of strscpy, if strlcpy is good enough for openbsd,
> > it's good enough for me! :-)
> 
> I prefer strscpy but for both cases return value is not checked at all, so makes
> hard to argue the benefit of the more proper return value J
> 
> So, as a rule of thumb are we saying strlcpy is dpdk preferred copy function?

Yes

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] bus/dpaa: fix build with gcc 9.0
  2018-11-01 13:19 [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0 Ferruh Yigit
                   ` (2 preceding siblings ...)
  2018-11-01 17:42 ` [dpdk-dev] [PATCH 1/2] bus/dpaa: " Stephen Hemminger
@ 2018-11-02 19:06 ` Ferruh Yigit
  2018-11-02 19:06   ` [dpdk-dev] [PATCH v2 2/2] eal: " Ferruh Yigit
  3 siblings, 1 reply; 10+ messages in thread
From: Ferruh Yigit @ 2018-11-02 19:06 UTC (permalink / raw)
  To: Thomas Monjalon, Hemant Agrawal, Shreyansh Jain; +Cc: dev, Ferruh Yigit, stable

build error:
In function ‘fman_if_init’,
    .../drivers/bus/dpaa/base/fman/fman.c:186:2:
    error: ‘strncpy’ output may be truncated copying 4095 bytes from a
           string of length 4095 [-Werror=stringop-truncation]
    strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);

strncpy may result a not null-terminated string,
replaced it with strlcpy

Fixes: 5b22cf744689 ("bus/dpaa: introducing FMan configurations")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
v2:
* s/rte_strscpy/strlcpy
---
 drivers/bus/dpaa/base/fman/fman.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
index bdb700423..06762e0f4 100644
--- a/drivers/bus/dpaa/base/fman/fman.c
+++ b/drivers/bus/dpaa/base/fman/fman.c
@@ -13,6 +13,7 @@
 #include <fman.h>
 #include <of.h>
 #include <rte_dpaa_logs.h>
+#include <rte_string_fns.h>
 
 #define QMI_PORT_REGS_OFFSET		0x400
 
@@ -183,7 +184,7 @@ fman_if_init(const struct device_node *dpa_node)
 	}
 	memset(__if, 0, sizeof(*__if));
 	INIT_LIST_HEAD(&__if->__if.bpool_list);
-	strncpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
+	strlcpy(__if->node_path, dpa_node->full_name, PATH_MAX - 1);
 	__if->node_path[PATH_MAX - 1] = '\0';
 
 	/* Obtain the MAC node used by this interface except macless */
-- 
2.17.2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] eal: fix build with gcc 9.0
  2018-11-02 19:06 ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
@ 2018-11-02 19:06   ` Ferruh Yigit
  2018-11-04 21:38     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
  0 siblings, 1 reply; 10+ messages in thread
From: Ferruh Yigit @ 2018-11-02 19:06 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Ferruh Yigit, stable

build error:
In function ‘eal_plugin_add’,
    .../lib/librte_eal/common/eal_common_options.c:225:2:
    error: ‘strncpy’ output may be truncated copying 4095 bytes from a
           string of length 4095 [-Werror=stringop-truncation]
    strncpy(solib->name, path, PATH_MAX-1);

strncpy may result a not null-terminated string,
replaced it with strlcpy

Fixes: fa9cdc6f8410 ("eal: move plugin loading from linuxapp to common")
Cc: stable@dpdk.org

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
v2:
* s/rte_strscpy/strlcpy/
---
 lib/librte_eal/common/eal_common_options.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index b82f3ddd1..e31eca5c0 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -222,7 +222,7 @@ eal_plugin_add(const char *path)
 		return -1;
 	}
 	memset(solib, 0, sizeof(*solib));
-	strncpy(solib->name, path, PATH_MAX-1);
+	strlcpy(solib->name, path, PATH_MAX-1);
 	solib->name[PATH_MAX-1] = 0;
 	TAILQ_INSERT_TAIL(&solib_list, solib, next);
 
-- 
2.17.2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/2] eal: fix build with gcc 9.0
  2018-11-02 19:06   ` [dpdk-dev] [PATCH v2 2/2] eal: " Ferruh Yigit
@ 2018-11-04 21:38     ` Thomas Monjalon
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Monjalon @ 2018-11-04 21:38 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: stable, dev

02/11/2018 20:06, Ferruh Yigit:
> build error:
> In function ‘eal_plugin_add’,
>     .../lib/librte_eal/common/eal_common_options.c:225:2:
>     error: ‘strncpy’ output may be truncated copying 4095 bytes from a
>            string of length 4095 [-Werror=stringop-truncation]
>     strncpy(solib->name, path, PATH_MAX-1);
> 
> strncpy may result a not null-terminated string,
> replaced it with strlcpy
> 
> Fixes: fa9cdc6f8410 ("eal: move plugin loading from linuxapp to common")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Series applied, thanks

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-11-04 21:39 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-01 13:19 [dpdk-dev] [PATCH 1/2] bus/dpaa: fix build with gcc 9.0 Ferruh Yigit
2018-11-01 12:49 ` Shreyansh Jain
2018-11-01 13:19 ` [dpdk-dev] [PATCH 2/2] eal: " Ferruh Yigit
2018-11-01 17:42 ` [dpdk-dev] [PATCH 1/2] bus/dpaa: " Stephen Hemminger
2018-11-01 17:45   ` Bruce Richardson
2018-11-01 18:21     ` Ferruh Yigit
2018-11-01 19:45       ` Thomas Monjalon
2018-11-02 19:06 ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
2018-11-02 19:06   ` [dpdk-dev] [PATCH v2 2/2] eal: " Ferruh Yigit
2018-11-04 21:38     ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon

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).