On 2/10/2022 7:10 AM, madhuker.myt...@oracle.com wrote:
From: Madhuker Mythri <madhuker.myt...@oracle.com>

Failsafe pmd started crashing with global devargs syntax as devargs is
not memset to zero. Access it to in rte_devargs_parse resulted in a
crash when called from secondary process.

Bugzilla Id: 933

Signed-off-by: Madhuker Mythri <madhuker.myt...@oracle.com>
---
  drivers/net/failsafe/failsafe.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index 3c754a5f66..aa93cc6000 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -360,6 +360,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
                        if (sdev->devargs.name[0] == '\0')
                                continue;
+ memset(&devargs, 0, sizeof(devargs));
                        /* rebuild devargs to be able to get the bus name. */
                        ret = rte_devargs_parse(&devargs,
                                                sdev->devargs.name);

if 'rte_devargs_parse()' requires 'devargs' parameter to be memset,
what do you think memset it in the API?
This prevents forgotten cases like this.

Reply via email to