[dpdk-dev] [PATCH] raw/skeleton: fix segmentation fault on rawdev_autotest

Harman Kalra hkalra at marvell.com
Tue Dec 11 14:14:30 CET 2018


segmentation fault ocured as vdev->device.driver->name did not
return correct value.
Test2 failed as dummy_value was freed before it was used.

Signed-off-by: Kallio Marko <marko.kallio at cavium.comm>
Signed-off-by: Harman Kalra <hkalra at marvell.com>
---
 drivers/raw/skeleton_rawdev/skeleton_rawdev.c      | 3 ++-
 drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
index d7630fc69..c957ced11 100644
--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
@@ -585,7 +585,8 @@ skeleton_rawdev_create(const char *name,
 
 	rawdev->dev_ops = &skeleton_rawdev_ops;
 	rawdev->device = &vdev->device;
-	rawdev->driver_name = vdev->device.driver->name;
+
+	rawdev->driver_name = rawdev->name;
 
 	skeldev = skeleton_rawdev_get_priv(rawdev);
 
diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
index 359c9e296..788c3f1b9 100644
--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
@@ -294,14 +294,14 @@ test_rawdev_attr_set_get(void)
 			      "Attribute (Test1) not set correctly (%" PRIu64 ")",
 			      ret_value);
 
-	free(dummy_value);
-
 	ret_value = 0;
 	ret = rte_rawdev_get_attr(TEST_DEV_ID, "Test2", &ret_value);
 	RTE_TEST_ASSERT_EQUAL(*((int *)(uintptr_t)ret_value), 200,
 			      "Attribute (Test2) not set correctly (%" PRIu64 ")",
 			      ret_value);
 
+	free(dummy_value);
+
 	return TEST_SUCCESS;
 }
 
-- 
2.18.0



More information about the dev mailing list