Hi > -----Original Message----- > From: Min Hu (Connor) <humi...@huawei.com> > Sent: Wednesday, April 21, 2021 10:08 > To: dev@dpdk.org > Cc: Yigit, Ferruh <ferruh.yi...@intel.com>; Li, Xiaoyun > <xiaoyun...@intel.com>; > Wu, Jingjing <jingjing...@intel.com> > Subject: [PATCH 1/2] raw/ntb: check spad user index > > From: Chengwen Feng <fengcheng...@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: sta...@dpdk.org > > Signed-off-by: Chengwen Feng <fengcheng...@huawei.com> > Signed-off-by: Min Hu (Connor) <humi...@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