On Wed, Jul 12, 2023 at 02:00:33PM +0800, Junxian Huang wrote: > Currently, RoCE driver gets function resource values from firmware > without validity check. As these resources are mostly related to memory, > an invalid value may lead to serious consequence such as kernel panic. > > This patch adds check for these resource values and adjusts the invalid > ones. > > Signed-off-by: Junxian Huang <huangjunxian6@xxxxxxxxxxxxx> > --- > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 116 ++++++++++++++++++++- > drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 37 +++++++ > 2 files changed, 149 insertions(+), 4 deletions(-) > > diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > index c4b92d8bd98a..dae0e6959fa0 100644 > --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c > @@ -1650,6 +1650,98 @@ static int hns_roce_config_global_param(struct hns_roce_dev *hr_dev) > return hns_roce_cmq_send(hr_dev, &desc, 1); > } <...> > +static inline bool check_res_is_supported(struct hns_roce_dev *hr_dev, > + struct hns_roce_bt_num *bt_num_entry) > +{ <...> > +static inline void adjust_eqc_bt_num(struct hns_roce_caps *caps, > + u16 *invalid_flag) > +{ No inline functions in *.c files. Thanks