[dpdk-dev] [PATCH 1/2] raw/ntb: check spad user index
Li, Xiaoyun
xiaoyun.li at intel.com
Wed Apr 21 05:31:14 CEST 2021
Hi
> -----Original Message-----
> From: Min Hu (Connor) <humin29 at huawei.com>
> Sent: Wednesday, April 21, 2021 10:08
> To: dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; Li, Xiaoyun <xiaoyun.li at intel.com>;
> Wu, Jingjing <jingjing.wu at intel.com>
> Subject: [PATCH 1/2] raw/ntb: check spad user index
>
> From: Chengwen Feng <fengchengwen at huawei.com>
>
> This patch adds checking spad user index validity when set or get attr.
>
> Fixes: 277310027965 ("raw/ntb: introduce NTB raw device driver")
> Cc: stable at dpdk.org
>
> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
> drivers/raw/ntb/ntb.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c index
> 6dd213e..0f0e3f2 100644
> --- a/drivers/raw/ntb/ntb.c
> +++ b/drivers/raw/ntb/ntb.c
> @@ -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;
> + }
It's unnecessary. The value will be checked in intel_ntb_spad_write(). There will be error remind in that.
> (*hw->ntb_ops->spad_write)(dev, hw->spad_user_list[index],
> 1, attr_value);
> NTB_LOG(DEBUG, "Set attribute (%s) Value (%" PRIu64 ")", @@
> -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;
> + }
Same as above.
> *attr_value = (*hw->ntb_ops->spad_read)(dev,
> hw->spad_user_list[index], 0);
> NTB_LOG(DEBUG, "Attribute (%s) Value (%" PRIu64 ")",
> --
> 2.7.4
More information about the dev
mailing list