From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
To: dev@dpdk.org
Cc: zbigniew.bodek@caviumnetworks.com,
jerin.jacob@caviumnetworks.com, declan.doherty@intel.com,
roy.fan.zhang@intel.com,
Pablo de Lara <pablo.de.lara.guarch@intel.com>
Subject: [dpdk-dev] [PATCH 1/2] drivers/crypto: check if name is NULL
Date: Tue, 18 Apr 2017 15:34:19 +0100 [thread overview]
Message-ID: <1492526060-96427-1-git-send-email-pablo.de.lara.guarch@intel.com> (raw)
Check if virtual device name is NULL,
to avoid possible segmentation faults.
Fixes: 5d2aa461cbca ("vdev: use generic vdev struct for probe and remove")
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 2 ++
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 2 ++
drivers/crypto/armv8/rte_armv8_pmd.c | 2 ++
drivers/crypto/kasumi/rte_kasumi_pmd.c | 2 ++
drivers/crypto/null/null_crypto_pmd.c | 8 +++++---
drivers/crypto/openssl/rte_openssl_pmd.c | 2 ++
drivers/crypto/scheduler/scheduler_pmd.c | 7 ++++++-
drivers/crypto/snow3g/rte_snow3g_pmd.c | 2 ++
drivers/crypto/zuc/rte_zuc_pmd.c | 2 ++
9 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
index 1705896..f4dd1ae 100644
--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
@@ -501,6 +501,8 @@ aesni_gcm_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
index 37b22ec..88b691e 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
@@ -768,6 +768,8 @@ cryptodev_aesni_mb_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
index bf56bc6..a8af4a3 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -864,6 +864,8 @@ cryptodev_armv8_crypto_init(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c
index 42fdd33..b4476e8 100644
--- a/drivers/crypto/kasumi/rte_kasumi_pmd.c
+++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c
@@ -624,6 +624,8 @@ cryptodev_kasumi_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/null/null_crypto_pmd.c b/drivers/crypto/null/null_crypto_pmd.c
index a44c61a..3d131ca 100644
--- a/drivers/crypto/null/null_crypto_pmd.c
+++ b/drivers/crypto/null/null_crypto_pmd.c
@@ -226,12 +226,14 @@ cryptodev_null_probe(struct rte_vdev_device *dev)
rte_socket_id(),
{0}
};
+ const char *name;
- rte_cryptodev_parse_vdev_init_params(&init_params,
- rte_vdev_device_args(dev));
+ name = rte_vdev_device_name(dev);
+ if (name == NULL)
+ return -EINVAL;
RTE_LOG(INFO, PMD, "Initialising %s on NUMA node %d\n",
- rte_vdev_device_name(dev), init_params.socket_id);
+ name, init_params.socket_id);
if (init_params.name[0] != '\0')
RTE_LOG(INFO, PMD, " User defined name = %s\n",
init_params.name);
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index f3c8f83..9deead8 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1331,6 +1331,8 @@ cryptodev_openssl_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c
index 7d9e376..74e1f26 100644
--- a/drivers/crypto/scheduler/scheduler_pmd.c
+++ b/drivers/crypto/scheduler/scheduler_pmd.c
@@ -429,12 +429,17 @@ cryptodev_scheduler_probe(struct rte_vdev_device *vdev)
.mode = CDEV_SCHED_MODE_NOT_SET,
.enable_ordering = 0
};
+ const char *name;
+
+ name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
scheduler_parse_init_params(&init_params,
rte_vdev_device_args(vdev));
RTE_LOG(INFO, PMD, "Initialising %s on NUMA node %d\n",
- rte_vdev_device_name(vdev),
+ name,
init_params.def_p.socket_id);
RTE_LOG(INFO, PMD, " Max number of queue pairs = %d\n",
init_params.def_p.max_nb_queue_pairs);
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c
index a31eaa8..42b802b 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd.c
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c
@@ -613,6 +613,8 @@ cryptodev_snow3g_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c
index 5eec933..22bf8bf 100644
--- a/drivers/crypto/zuc/rte_zuc_pmd.c
+++ b/drivers/crypto/zuc/rte_zuc_pmd.c
@@ -513,6 +513,8 @@ cryptodev_zuc_probe(struct rte_vdev_device *vdev)
const char *input_args;
name = rte_vdev_device_name(vdev);
+ if (name == NULL)
+ return -EINVAL;
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_parse_vdev_init_params(&init_params, input_args);
--
2.7.4
next reply other threads:[~2017-04-18 14:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-18 14:34 Pablo de Lara [this message]
2017-04-18 14:34 ` [dpdk-dev] [PATCH 2/2] drvers/crypto: do not create unique name internally Pablo de Lara
2017-04-19 10:05 ` Zhang, Roy Fan
2017-04-19 15:55 ` De Lara Guarch, Pablo
2017-04-19 9:48 ` [dpdk-dev] [PATCH 1/2] drivers/crypto: check if name is NULL Zhang, Roy Fan
2017-04-19 15:55 ` De Lara Guarch, Pablo
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=1492526060-96427-1-git-send-email-pablo.de.lara.guarch@intel.com \
--to=pablo.de.lara.guarch@intel.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=jerin.jacob@caviumnetworks.com \
--cc=roy.fan.zhang@intel.com \
--cc=zbigniew.bodek@caviumnetworks.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).