From e991aa38ea3856f3fb8f66b30fa44c4e85b502cd Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Fri, 11 Aug 2017 14:21:53 +0530 Subject: [PATCH] ANDROID: arm64: fix undeclared 'init_thread_info' error init_thread_info is deprecated in favour of THREAD_INFO_IN_TASK related changes, see Change-Id: Ia4769ddcc6fc556e9eb6193d64fc99fe2d9e39ab ("UPSTREAM: arm64: thread_info remove stale items"). Use init_task.thread_info instead, to fix following build error: arch/arm64/kernel/setup.c: In function 'setup_arch': arch/arm64/kernel/setup.c:356:2: error: 'init_thread_info' undeclared (first use in this function) init_thread_info.ttbr0 = virt_to_phys(empty_zero_page); ^ Change-Id: I13bf03211f0d918d388d1436099d286c10a23e5d Fixes: Change-Id: I85a49f70e13b153b9903851edf56f6531c14e6de ("BACKPORT: arm64: Disable TTBR0_EL1 during normal kernel execution") Fixes: Change-Id: Ia4769ddcc6fc556e9eb6193d64fc99fe2d9e39ab ("UPSTREAM: arm64: thread_info remove stale items") Signed-off-by: Amit Pundir --- arch/arm64/include/asm/thread_info.h | 2 ++ arch/arm64/kernel/setup.c | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h index ec4f8c04aeda..67dd228c3f17 100644 --- a/arch/arm64/include/asm/thread_info.h +++ b/arch/arm64/include/asm/thread_info.h @@ -90,6 +90,8 @@ static inline struct thread_info *current_thread_info(void) return (struct thread_info *)sp_el0; } + +#define init_thread_info (init_thread_union.thread_info) #endif #define init_stack (init_thread_union.stack) diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 6591bf23422b..ede6cc373f43 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -349,11 +349,15 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_ARM64_SW_TTBR0_PAN /* - * Make sure init_thread_info.ttbr0 always generates translation + * Make sure thread_info.ttbr0 always generates translation * faults in case uaccess_enable() is inadvertently called by the init * thread. */ - init_thread_info.ttbr0 = virt_to_phys(empty_zero_page); +#ifdef CONFIG_THREAD_INFO_IN_TASK + init_task.thread_info.ttbr0 = virt_to_phys(empty_zero_page); +#else + init_thread_info.ttbr0 = (init_thread_union.thread_info); +#endif #endif #ifdef CONFIG_VT