From: Zhongfu Luo Date: Fri, 28 Dec 2018 08:16:28 +0000 (+0800) Subject: defendkey: change defendkey reserved memory process [1/1] X-Git-Tag: hardkernel-4.9.236-104~1931 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5e4a917274f47a8ee30dde66531f25b8b43db55e;p=platform%2Fkernel%2Flinux-amlogic.git defendkey: change defendkey reserved memory process [1/1] PD#SWPL-3706 Problem: GXL: defenkey cause system crash Solution: 1.change defendkey reserved memory process 2.limit reserved memory region Verify: GXL skt board verify pass Change-Id: I23c6fe861803de96eccec9b643824eeae2c2e564 Signed-off-by: Zhongfu Luo --- diff --git a/drivers/amlogic/defendkey/defendkey.c b/drivers/amlogic/defendkey/defendkey.c index 0a63c34..cb31ff9 100644 --- a/drivers/amlogic/defendkey/defendkey.c +++ b/drivers/amlogic/defendkey/defendkey.c @@ -52,6 +52,7 @@ struct defendkey_mem defendkey_rmem; #define CMD_SECURE_CHECK _IO('d', 0x01) #define CMD_DECRYPT_DTB _IO('d', 0x02) +#define DEFENDKEY_LIMIT_ADDR 0x0F000000 enum e_defendkey_type { e_upgrade_check = 0, @@ -372,7 +373,6 @@ static struct class defendkey_class = { static int __init early_defendkey_para(char *buf) { int ret; - struct page *page = NULL; if (!buf) return -EINVAL; @@ -384,9 +384,8 @@ static int __init early_defendkey_para(char *buf) return -EINVAL; } - page = pfn_to_page(defendkey_rmem.base >> PAGE_SHIFT); - if (PageHighMem(page)) { - pr_err("invalid boot args \"defendkey\"\n"); + if (defendkey_rmem.base > DEFENDKEY_LIMIT_ADDR) { + pr_err("defendkey reserved memory base overflow!\n"); return -EINVAL; }