From 2cd3b4b514c9095343037cce62f7db6492ad93a4 Mon Sep 17 00:00:00 2001
From: KyungsanKim <kim1158@gmail.com>
Date: Tue, 23 Aug 2022 13:51:13 +0900
Subject: [PATCH] smdk v1.2 - fix issue : build failure on CONFIG_LOCKDEP=y or
 CONFIG_EXMEM=n

Signed-off-by: KyungsanKim <ks0204.kim@samsung.com>
Signed-off-by: JongchanLim <jongchan.im@samsung.com>
Signed-off-by: DonghwaKang <dh1128.kang@samsung.com>
Signed-off-by: JunhyeokIm<junhyeok.im@samsung.com>
---
 lib/linux-5.18-rc3-smdk/lib/radix-tree.c | 4 ++++
 lib/linux-5.18-rc3-smdk/mm/page_alloc.c  | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/linux-5.18-rc3-smdk/lib/radix-tree.c b/lib/linux-5.18-rc3-smdk/lib/radix-tree.c
index b3afafe46f..c09adb5b67 100644
--- a/lib/linux-5.18-rc3-smdk/lib/radix-tree.c
+++ b/lib/linux-5.18-rc3-smdk/lib/radix-tree.c
@@ -1594,7 +1594,11 @@ void __init radix_tree_init(void)
 {
 	int ret;
 
+#ifdef CONFIG_EXMEM
+	BUILD_BUG_ON(RADIX_TREE_MAX_TAGS + __GFP_BITS_SHIFT > 34);
+#else
 	BUILD_BUG_ON(RADIX_TREE_MAX_TAGS + __GFP_BITS_SHIFT > 32);
+#endif
 	BUILD_BUG_ON(ROOT_IS_IDR & ~GFP_ZONEMASK);
 	BUILD_BUG_ON(XA_CHUNK_SIZE > 255);
 	radix_tree_node_cachep = kmem_cache_create("radix_tree_node",
diff --git a/lib/linux-5.18-rc3-smdk/mm/page_alloc.c b/lib/linux-5.18-rc3-smdk/mm/page_alloc.c
index cdc50e5c7a..f9149f0378 100644
--- a/lib/linux-5.18-rc3-smdk/mm/page_alloc.c
+++ b/lib/linux-5.18-rc3-smdk/mm/page_alloc.c
@@ -4496,6 +4496,8 @@ static inline unsigned int gfp_to_alloc_flags_cma(gfp_t gfp_mask,
 	return alloc_flags;
 }
 
+
+#ifdef CONFIG_EXMEM
 static inline bool __is_zone_allowed(struct zone *z, gfp_t gfp_mask)
 {
 	if (user_zonelist_order == ZONELIST_ORDER_NONE &&
@@ -4522,6 +4524,7 @@ static inline bool __is_zone_allowed(struct zone *z, gfp_t gfp_mask)
 
 	return true;
 }
+#endif
 
 /*
  * get_page_from_freelist goes through the zonelist trying to allocate
@@ -5786,7 +5789,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid,
 	for_each_zone_zonelist_nodemask(zone, z, ac.zonelist, ac.highest_zoneidx, ac.nodemask) {
 		unsigned long mark;
 
-#if CONFIG_EXMEM
+#ifdef CONFIG_EXMEM
 		if (!__is_zone_allowed(zone, gfp))
 			continue;
 #endif