Skip to content

Commit

Permalink
raw/ntb: check SPAD user index
Browse files Browse the repository at this point in the history
[ upstream commit 586f128 ]

This patch adds checking spad user index validity when set or get attr.

Fixes: 2773100 ("raw/ntb: introduce NTB raw device driver")

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
  • Loading branch information
fengchengwen authored and steevenlee committed Jun 8, 2021
1 parent 10ddae7 commit 1a62a37
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/raw/ntb/ntb.c
Expand Up @@ -1080,6 +1080,10 @@ ntb_attr_set(struct rte_rawdev *dev, const char *attr_name,
if (hw->ntb_ops->spad_write == NULL)
return -ENOTSUP;
index = atoi(&attr_name[NTB_SPAD_USER_LEN]);
if (index < 0 || index >= NTB_SPAD_USER_MAX_NUM) {
NTB_LOG(ERR, "Invalid attribute (%s)", attr_name);
return -EINVAL;
}
(*hw->ntb_ops->spad_write)(dev, hw->spad_user_list[index],
1, attr_value);
NTB_LOG(DEBUG, "Set attribute (%s) Value (%" PRIu64 ")",
Expand Down Expand Up @@ -1174,6 +1178,10 @@ ntb_attr_get(struct rte_rawdev *dev, const char *attr_name,
if (hw->ntb_ops->spad_read == NULL)
return -ENOTSUP;
index = atoi(&attr_name[NTB_SPAD_USER_LEN]);
if (index < 0 || index >= NTB_SPAD_USER_MAX_NUM) {
NTB_LOG(ERR, "Attribute (%s) out of range", attr_name);
return -EINVAL;
}
*attr_value = (*hw->ntb_ops->spad_read)(dev,
hw->spad_user_list[index], 0);
NTB_LOG(DEBUG, "Attribute (%s) Value (%" PRIu64 ")",
Expand Down

0 comments on commit 1a62a37

Please sign in to comment.