[dpdk-dev] [PATCH v2] net/failsafe: fix starting failsafe with invalid MAC
Raslan Darawsheh
rasland at mellanox.com
Mon May 7 17:11:17 CEST 2018
hotplug alarm is the mechanism used to initialize the failsafe process
(trying to reconfigure all failsafe sub devices every few seconds.)
When starting failsafe with a MAC option, and giving it an invalid MAC
address this will lead to a NULL pointer for the dev private field. Then
when the hotplug alarm is called it will try to access this pointer,
which will lead to a segmentation fault.
This commit fixes this issue by removing the installed hotplug alarm in
case of invalid MAC address.
Fixes: a46f8d58 ("net/failsafe: add fail-safe PMD")
Signed-off-by: Raslan Darawsheh <rasland at mellanox.com>
---
v2 changes:
Reword the commit log.
---
---
drivers/net/failsafe/failsafe.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index 5e7a8ba..3a747c2 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -226,7 +226,7 @@ fs_eth_dev_create(struct rte_vdev_device *vdev)
mac);
if (ret) {
ERROR("Failed to set default MAC address");
- goto free_args;
+ goto cancel_alarm;
}
}
} else {
@@ -260,6 +260,8 @@ fs_eth_dev_create(struct rte_vdev_device *vdev)
.type = RTE_INTR_HANDLE_EXT,
};
return 0;
+cancel_alarm:
+ failsafe_hotplug_alarm_cancel(dev);
free_args:
failsafe_args_free(dev);
free_subs:
--
2.7.4
More information about the dev
mailing list