eal: fix interrupt trace point

This patch fixes (dereference after null check) coverity issue.
For this reason, we should add null check at the beginning of the
function and return error directly if the 'intr_handle' is null.

Coverity issue: 357695, 357751
Fixes: 05c4105738d8 ("trace: add interrupt tracepoints")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Harman Kalra <hkalra@marvell.com>
This commit is contained in:
Yunjian Wang 2020-10-15 16:42:30 +08:00 committed by David Marchand
parent f72299fd15
commit 39e2961a09
2 changed files with 20 additions and 12 deletions

View File

@ -350,13 +350,15 @@ rte_intr_enable(const struct rte_intr_handle *intr_handle)
{
int rc = 0;
if (intr_handle && intr_handle->type == RTE_INTR_HANDLE_VDEV) {
if (intr_handle == NULL)
return -1;
if (intr_handle->type == RTE_INTR_HANDLE_VDEV) {
rc = 0;
goto out;
}
if (!intr_handle || intr_handle->fd < 0 ||
intr_handle->uio_cfg_fd < 0) {
if (intr_handle->fd < 0 || intr_handle->uio_cfg_fd < 0) {
rc = -1;
goto out;
}
@ -389,13 +391,15 @@ rte_intr_disable(const struct rte_intr_handle *intr_handle)
{
int rc = 0;
if (intr_handle && intr_handle->type == RTE_INTR_HANDLE_VDEV) {
if (intr_handle == NULL)
return -1;
if (intr_handle->type == RTE_INTR_HANDLE_VDEV) {
rc = 0;
goto out;
}
if (!intr_handle || intr_handle->fd < 0 ||
intr_handle->uio_cfg_fd < 0) {
if (intr_handle->fd < 0 || intr_handle->uio_cfg_fd < 0) {
rc = -1;
goto out;
}

View File

@ -667,13 +667,15 @@ rte_intr_enable(const struct rte_intr_handle *intr_handle)
{
int rc = 0;
if (intr_handle && intr_handle->type == RTE_INTR_HANDLE_VDEV) {
if (intr_handle == NULL)
return -1;
if (intr_handle->type == RTE_INTR_HANDLE_VDEV) {
rc = 0;
goto out;
}
if (!intr_handle || intr_handle->fd < 0 ||
intr_handle->uio_cfg_fd < 0) {
if (intr_handle->fd < 0 || intr_handle->uio_cfg_fd < 0) {
rc = -1;
goto out;
}
@ -794,13 +796,15 @@ rte_intr_disable(const struct rte_intr_handle *intr_handle)
{
int rc = 0;
if (intr_handle && intr_handle->type == RTE_INTR_HANDLE_VDEV) {
if (intr_handle == NULL)
return -1;
if (intr_handle->type == RTE_INTR_HANDLE_VDEV) {
rc = 0;
goto out;
}
if (!intr_handle || intr_handle->fd < 0 ||
intr_handle->uio_cfg_fd < 0) {
if (intr_handle->fd < 0 || intr_handle->uio_cfg_fd < 0) {
rc = -1;
goto out;
}