提交 094411bc 编写于 作者: T Tang Yizhou 提交者: Yang Yingliang

share_pool: Add parameter checking

ascend inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4EUVI
CVE: NA

-------------------------------------------------

1. Add parameter checking in sp_alloc.
2. Add variable initialization in sp_group_exit.
Signed-off-by: NTang Yizhou <tangyizhou@huawei.com>
Reviewed-by: NDing Tianhong <dingtianhong@huawei.com>
Reviewed-by: NKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: NWeilong Chen <chenweilong@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 7c5e55f4
...@@ -1329,6 +1329,11 @@ void *sp_alloc(unsigned long size, unsigned long sp_flags, int spg_id) ...@@ -1329,6 +1329,11 @@ void *sp_alloc(unsigned long size, unsigned long sp_flags, int spg_id)
if (enable_mdc_default_group) if (enable_mdc_default_group)
spg_id = mdc_default_group_id; spg_id = mdc_default_group_id;
if (unlikely(!size)) {
pr_err_ratelimited("share pool: allocation failed, invalid size %lu\n", size);
return ERR_PTR(-EINVAL);
}
if (spg_id != SPG_ID_DEFAULT && spg_id < SPG_ID_MIN) { if (spg_id != SPG_ID_DEFAULT && spg_id < SPG_ID_MIN) {
pr_err_ratelimited("share pool: allocation failed, invalid group id %d\n", spg_id); pr_err_ratelimited("share pool: allocation failed, invalid group id %d\n", spg_id);
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
...@@ -2962,7 +2967,7 @@ EXPORT_SYMBOL(sharepool_no_page); ...@@ -2962,7 +2967,7 @@ EXPORT_SYMBOL(sharepool_no_page);
void sp_group_exit(struct mm_struct *mm) void sp_group_exit(struct mm_struct *mm)
{ {
struct sp_group *spg = mm->sp_group; struct sp_group *spg = mm->sp_group;
bool is_alive; bool is_alive = true;
if (!spg || !enable_ascend_share_pool) if (!spg || !enable_ascend_share_pool)
return; return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册