提交 ad1aabab 编写于 作者: L lingmingqiang 提交者: Xie XiuQi

ACC: limit the values of uacce_mode when insmod hisi_hpre.ko

driver inclusion
category: bugfix
bugzilla: NA
CVE: NA

limit the values of uacce_mode when insmod hisi_hpre.ko
Signed-off-by: Nyumeng <yumeng18@huawei.com>
Reviewed-by: Nxuzaibo <xuzaibo@huawei.com>
Signed-off-by: Nlingmingqiang <lingmingqiang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 efe221f9
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
#define _QM_VFG_AX_MASK 0xff #define _QM_VFG_AX_MASK 0xff
#define _BD_USR_MASK 0x3 #define _BD_USR_MASK 0x3
#define _CLUSTER_CORE_MASK 0xf #define _CLUSTER_CORE_MASK 0xf
#define _TO_DECIMAL 10
/* function index: /* function index:
* 1 for hpre bypass mode, * 1 for hpre bypass mode,
...@@ -220,7 +221,6 @@ static int pf_q_num_set(const char *val, const struct kernel_param *kp) ...@@ -220,7 +221,6 @@ static int pf_q_num_set(const char *val, const struct kernel_param *kp)
return -EINVAL; return -EINVAL;
} }
#define _TO_DECIMAL 10
ret = kstrtou32(val, _TO_DECIMAL, &n); ret = kstrtou32(val, _TO_DECIMAL, &n);
if (ret != 0 || n == 0 || n > q_num) if (ret != 0 || n == 0 || n > q_num)
return -EINVAL; return -EINVAL;
...@@ -233,12 +233,33 @@ static const struct kernel_param_ops pf_q_num_ops = { ...@@ -233,12 +233,33 @@ static const struct kernel_param_ops pf_q_num_ops = {
.get = param_get_int, .get = param_get_int,
}; };
static int uacce_mode_set(const char *val, const struct kernel_param *kp)
{
u32 n;
int ret;
if (!val)
return -EINVAL;
ret = kstrtou32(val, _TO_DECIMAL, &n);
if (ret != 0 || n > 2)
return -EINVAL;
return param_set_int(val, kp);
}
static const struct kernel_param_ops uacce_mode_ops = {
.set = uacce_mode_set,
.get = param_get_int,
};
static u32 pf_q_num = HPRE_PF_DEF_Q_NUM; static u32 pf_q_num = HPRE_PF_DEF_Q_NUM;
module_param_cb(pf_q_num, &pf_q_num_ops, &pf_q_num, 0444); module_param_cb(pf_q_num, &pf_q_num_ops, &pf_q_num, 0444);
MODULE_PARM_DESC(pf_q_num, "Number of queues in PF of CS(1-1024)"); MODULE_PARM_DESC(pf_q_num, "Number of queues in PF of CS(1-1024)");
static int uacce_mode = UACCE_MODE_NOUACCE; static int uacce_mode = UACCE_MODE_NOUACCE;
module_param(uacce_mode, int, 0444); module_param_cb(uacce_mode, &uacce_mode_ops, &uacce_mode, 0444);
MODULE_PARM_DESC(uacce_mode, "Mode of UACCE can be 0(default), 1, 2");
static inline void hpre_add_to_list(struct hpre *hpre) static inline void hpre_add_to_list(struct hpre *hpre)
{ {
mutex_lock(&hpre_list_lock); mutex_lock(&hpre_list_lock);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册