From a541bd47b87271254fde0e358d14604396e87495 Mon Sep 17 00:00:00 2001
From: Guo Mengqi <guomengqi3@huawei.com>
Date: Thu, 29 Sep 2022 11:39:50 +0000
Subject: [PATCH] mm: sharepool: check size=0 in mg_sp_make_share_k2u()

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5QQPG
CVE: NA

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

Add a size-0-check in mg_sp_make_share_k2u() to avoid passing 0-size spa
to __insert_sp_area().

Signed-off-by: Guo Mengqi <guomengqi3@huawei.com>
Reviewed-by: Weilong Chen <chenweilong@huawei.com>
Signed-off-by: Yongqiang Liu <liuyongqiang13@huawei.com>
---
 mm/share_pool.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/mm/share_pool.c b/mm/share_pool.c
index d49c066d1229..fb1722e8fbf1 100644
--- a/mm/share_pool.c
+++ b/mm/share_pool.c
@@ -3097,6 +3097,11 @@ static int sp_k2u_prepare(unsigned long kva, unsigned long size,
 
 	trace_sp_k2u_begin(kc);
 
+	if (!size) {
+		pr_err_ratelimited("k2u input size is 0.\n");
+		return -EINVAL;
+	}
+
 	if (sp_flags & ~SP_FLAG_MASK) {
 		pr_err_ratelimited("k2u sp_flags %lx error\n", sp_flags);
 		return -EINVAL;
-- 
GitLab