From patchwork Thu Jan 7 23:34:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 59307 Delivered-To: patch@linaro.org Received: by 10.112.130.2 with SMTP id oa2csp221887lbb; Thu, 7 Jan 2016 15:38:03 -0800 (PST) X-Received: by 10.66.234.226 with SMTP id uh2mr150859365pac.6.1452209883226; Thu, 07 Jan 2016 15:38:03 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 85si351154pft.165.2016.01.07.15.38.02; Thu, 07 Jan 2016 15:38:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753894AbcAGXh7 (ORCPT + 29 others); Thu, 7 Jan 2016 18:37:59 -0500 Received: from mail-by2on0088.outbound.protection.outlook.com ([207.46.100.88]:16560 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753109AbcAGXh5 (ORCPT ); Thu, 7 Jan 2016 18:37:57 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Received: from localhost (95.143.213.121) by BY2PR07MB616.namprd07.prod.outlook.com (10.141.222.156) with Microsoft SMTP Server (TLS) id 15.1.361.13; Thu, 7 Jan 2016 23:37:57 +0000 From: Yury Norov To: , , , CC: , , , , , , , , , , , , , , Andrew Pinski , Andrew Pinski Subject: [PATCH v6 04/21] arm64: change some CONFIG_COMPAT over to use CONFIG_AARCH32_EL0 instead Date: Fri, 8 Jan 2016 02:34:22 +0300 Message-ID: <1452209679-19445-5-git-send-email-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1452209679-19445-1-git-send-email-ynorov@caviumnetworks.com> References: <1452209679-19445-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: AM2PR09CA0012.eurprd09.prod.outlook.com (25.161.22.150) To BY2PR07MB616.namprd07.prod.outlook.com (10.141.222.156) X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB616; 2:ilHzKh3CJQBM6ul84CiRPW1WVacdTSiqkA3gXIb68gs/WXlvFuEtKTyxplek3Lk7Hggf5oqF/+LqHufOWgun+Yq34NlaxkiO/+smp5sdFpRj689w8c1aZhlQ32NUz64VG1elK5VZSs5E9PmFY+EPLA==; 3:qOha/ubXcaEHx1R+ACN3vBFLA9AyLKw0dEYNLKp2KPU7jLty9ogfZvUY5+eESXGicPLyvJIC87K1tvPPrGwocbOgbZ3S0H72YltQv4oU/Pmv/SfQFlu7ixGv0rBfXJRK; 25:6siUf+3JPdLnusuDBVV6NADdAcQ9cTpsFiAT/K1kNtBiIr3SwJkwyU6po3S/Clh8kibPuVi5vhHTfguo8OfcBH2RKEDIzar6CqrMU2+2lUgG3iT2QeRB3jQFOGRI+EKJkU3aZ7gHO4tDTbqiNit+aNpnFi3ejMTyztCAG88AnyAs7pBtlSUc54bCqux9i3agEkJqnH+YGsZ6rVckwkmMWHui1c/XPM1CEEgN+kL2FF96cBlVt+cCttuY+rdU2JYG X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB616; X-MS-Office365-Filtering-Correlation-Id: 04125b3f-cbd8-4cd0-1f43-08d317bb9305 X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB616; 20:NDNve6rEoYsM6lri2kdgkh6kjCtjsJSWj5Pqj4Mg/fH9j4tlcB3YXDtaQS/eqpx/susxFy2m7ZND50nV5JiYe/I2sHeVjPK0Idd3TNUXs7/U8IkJ+M87dXdpBIY5Fq/NIHnKPxS6k4dSHWx6Te0ERaXqiscZlP/Xh5FdCaDbaE4BI6Bnf7sFxlPeCwYSAQRsrxtQOLEQjpSRdIcP/W5FiRPmlvLAw16JUpyhkBbHD65nBlzBpzIY5ZW2+yk9W3AHN6JInFKAw0KVzkca7MqOYIQUrv70b/ZikEPGkX3xNfzo/vLrFUIbVuJcvHw/8qoE8fHRsUlFcJTJavF6UrAtltq1JeTLcdPfhbiJm53dpKaSKDeI4PqfdrUERGtA8KtV3dT3wquu5BALvTkKrEY9utpc0lEEpHJe1Gs6iQhQ4rCooQxkEanwDCYXKII4QsaS1TS7IJPXGfDcEHRes6qfiNnQqR8k9T2URdwdDy6fi1EzOmF8ffer2hG8jPj7SfWhhRO/gzfLvhOgHNBXKD7R48RHc7Y9Mksgeb/W8zVszh/mcQ1wPdmbOYfPZVoYlRk1zwlryodAs0K9WWq/udhUAH1dj2m+4Fh/Yjp2QhrpSo4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236414709691187); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001); SRVR:BY2PR07MB616; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB616; X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB616; 4:3KcOAbXpJ9qhCr+Ig/7fXY4f5uuDGnl3HmNci+lktcVzrKOHHj08dci+L9Lrwn6IZQjiGgtNoHOTgmNWv517syTekb2nYJyFFLjJYrwQ62Ltc61dFDUguOn2IeAbL6rukPCTXmVrK4LJY3w436pGtyOOWSHI3zH8+3cb9OsmFiUEwT/I6iI+VZ9NVfkxP5ymNqUbFrix5nWSBFfn5R/Jzac9fygLbLDiRtCtCYLR6PgIt+67aumDXbWjXm9BLI6jBW7Yz77XlwIhmMmvfbTlDY8WwhrTsbFrCpzLaYbzEiJZnfqLD35/7EjozWuhrYLLu2/I6TJbRVB3E+YrkIG74ILKFp5n7JI6tVn3YtyDveQ1woXmtoROFz/GRHuFQjUOc/jpBextjrQa3Aa6ZtHrAujziw5FkFOvZRD3ySRmIk42D9L1iR7nukSS2FfVMFv2 X-Forefront-PRVS: 0814A2C7A3 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(189002)(199003)(33646002)(586003)(42186005)(189998001)(47776003)(77096005)(2201001)(101416001)(1096002)(575784001)(2950100001)(5008740100001)(76506005)(5001960100002)(5001770100001)(48376002)(2906002)(105586002)(107886002)(15975445007)(3846002)(92566002)(6116002)(50466002)(66066001)(36756003)(50226001)(87976001)(76176999)(106356001)(81156007)(229853001)(122386002)(97736004)(4326007)(19580395003)(40100003)(5003940100001)(19580405001)(50986999)(5004730100002)(4001430100002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB616; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR07MB616; 23:N3eDNnwzA9LWOcNnjLU8P6Udu0ICHUV5KnW/UxKJHG?= =?us-ascii?Q?VbXSPwJMuavQsyuWcKZEJhxT6GMEhT+x/swqftymcvv7r6S/LYNhzmj3/LHf?= =?us-ascii?Q?iprRndb8qQLNh2FKBJnFDXJ5Ms9QCMa6R9mzowqgLsk0oPaxuMAFfCaiMFfD?= =?us-ascii?Q?vrnkJOP2Kb8wbmjDzpT7O1oeQPmarVgJIXM7zMt315Vo9KDgSCvxh+/shxzw?= =?us-ascii?Q?2VPfyYXLQX1Js2M+pXT30ZmswxBFpcHqrJcLg/TE0FnDpEcFG3vIgUJUYCUw?= =?us-ascii?Q?dUNS0TW7vKZgGkYJDYfAmWsH51MX1HlpVCKIsrhUTLPsYMs0Um+zIotR4vfO?= =?us-ascii?Q?zQ9dy5UVMrrfuoFyc1zj/1D7l1xs5MQ9U+oeqX8c6NoEQlpqmIfMP/3ZWbOc?= =?us-ascii?Q?rVzQFGpXr0XMLaNa10JlwJBDdNUpxW388O3NPrt7CUklfOMyLiEo5WAJ7Knw?= =?us-ascii?Q?b3nrHbxUuaNHWjA1HQdhGOrVlIQRyQxbvU9b04mZGtKILiIT/skaonxMzajN?= =?us-ascii?Q?wqhuP9w2BR9sOUiA73+YO2ewv+XEVoxQDblkLomrg5ZDVgDzpNZQuXK5jY1i?= =?us-ascii?Q?YCcqO/o/lNwf0oLW1ckdEtyUqvJ7kZU6BDuba24no0MXXOgEfh3duhFOv/vC?= =?us-ascii?Q?8hrBfmUB+a0/u4fyeQy6/lsErmGzxUOfpJHfa0PSe9NzF/0FDSGw/xq8S4Vl?= =?us-ascii?Q?5GxpB3Atha76oe5ADOCSiL7tuStAlexZgxWQDJqJU6NQOMlk1GKlrvIgPxZ+?= =?us-ascii?Q?fmWMrXb3+Ft2iCm9dwpQM3uE5Yh3ZzlZq5jHZbV3YHsabuDu8hKxF2cCQ+BG?= =?us-ascii?Q?3S/kuJrAhQmszTbnZFwgPjPCoaFhjk8dkwDggpPZtToa7A85YLrdBxnCIa76?= =?us-ascii?Q?GdUZLWR1XTYluyMdWPoN1SDzLW6IfwVjedxRHU8cRe3JGpqmlef3PQyDfEVc?= =?us-ascii?Q?BSIvjGDxzY0zRCBSRqdfLwE+Iyo1f38EYTNF/pwVATITHZq318sniTBNmqLT?= =?us-ascii?Q?yemrsyStfwLbZ/H7g8wGL44JJMCiYjDsW6pCKaS1gBjSXVlm1CuLwe50l79I?= =?us-ascii?Q?XuhDDvz05kBkrCd80j1iv3rBKwLXz4LDlRk6Q6MZeckORf+2e2yENY75w5Q4?= =?us-ascii?Q?wKYY7c9/gagTwDHNa1wyYmrtHiNuYLIbn7YdxG/BfcZh6vAGXh7sRc0rKJeh?= =?us-ascii?Q?TLOfuwo/mDAfZX7Qrp7mpP30XDNDiAyz7hRZiOKMK9ibaPnrRSWXF0QA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB616; 5:yfqLRbhzYAYCnK+5LCI57xX5n7Jf8Oft9CnIk3xYFrzyKeq9dCM4PQa9rMqNF4IeFh65QAVZ7ElDbSdGvHZDtqiM9vKwFY5SwAOjpnia3IdMLGvSY080mZSzTad2s4GXz9qlJawHl/XLkymmqjBRtQ==; 24:SeW3ZNDtlr2ktsIazeC+HL4dvuO32JDmr3Wo+M8rb0GfFWxragqAFSxbr/DKy11R/CeRi1/ugWFt3IuANHDdvLd9jqvtDdDu2qnUnVqCJmw= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2016 23:37:57.7906 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB616 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andrew Pinski Signed-off-by: Andrew Pinski Signed-off-by: Philipp Tomsich Signed-off-by: Christoph Muellner Signed-off-by: Yury Norov Reviewed-by: David Daney --- arch/arm64/include/asm/fpsimd.h | 2 +- arch/arm64/include/asm/processor.h | 6 +++--- arch/arm64/include/asm/ptrace.h | 2 +- arch/arm64/include/asm/signal32.h | 6 ++++-- arch/arm64/include/asm/unistd.h | 2 +- arch/arm64/kernel/Makefile | 2 +- arch/arm64/kernel/asm-offsets.c | 2 +- arch/arm64/kernel/entry.S | 6 +++--- arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/ptrace.c | 8 ++++---- arch/arm64/kernel/traps.c | 2 +- arch/arm64/kernel/vdso.c | 4 ++-- 12 files changed, 23 insertions(+), 21 deletions(-) -- 2.5.0 diff --git a/arch/arm64/include/asm/fpsimd.h b/arch/arm64/include/asm/fpsimd.h index 50f559f..63b19f1 100644 --- a/arch/arm64/include/asm/fpsimd.h +++ b/arch/arm64/include/asm/fpsimd.h @@ -52,7 +52,7 @@ struct fpsimd_partial_state { }; -#if defined(__KERNEL__) && defined(CONFIG_COMPAT) +#if defined(__KERNEL__) && defined(CONFIG_AARCH32_EL0) /* Masks for extracting the FPSR and FPCR from the FPSCR */ #define VFP_FPSCR_STAT_MASK 0xf800009f #define VFP_FPSCR_CTRL_MASK 0x07f79f00 diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index 4acb7ca..9c4d95d 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h @@ -79,7 +79,7 @@ struct cpu_context { struct thread_struct { struct cpu_context cpu_context; /* cpu context */ unsigned long tp_value; /* TLS register */ -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 unsigned long tp2_value; #endif struct fpsimd_state fpsimd_state; @@ -88,7 +88,7 @@ struct thread_struct { struct debug_info debug; /* debugging */ }; -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 #define task_user_tls(t) \ ({ \ unsigned long *__tls; \ @@ -119,7 +119,7 @@ static inline void start_thread(struct pt_regs *regs, unsigned long pc, regs->sp = sp; } -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 static inline void compat_start_thread(struct pt_regs *regs, unsigned long pc, unsigned long sp) { diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h index e9e5467..95eff51 100644 --- a/arch/arm64/include/asm/ptrace.h +++ b/arch/arm64/include/asm/ptrace.h @@ -120,7 +120,7 @@ struct pt_regs { #define arch_has_single_step() (1) -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 #define compat_thumb_mode(regs) \ (((regs)->pstate & COMPAT_PSR_T_BIT)) #else diff --git a/arch/arm64/include/asm/signal32.h b/arch/arm64/include/asm/signal32.h index eeaa975..e68fcce 100644 --- a/arch/arm64/include/asm/signal32.h +++ b/arch/arm64/include/asm/signal32.h @@ -17,7 +17,9 @@ #define __ASM_SIGNAL32_H #ifdef __KERNEL__ -#ifdef CONFIG_COMPAT + +#ifdef CONFIG_AARCH32_EL0 + #include #define AARCH32_KERN_SIGRET_CODE_OFFSET 0x500 @@ -47,6 +49,6 @@ static inline int compat_setup_rt_frame(int usig, struct ksignal *ksig, sigset_t static inline void compat_setup_restart_syscall(struct pt_regs *regs) { } -#endif /* CONFIG_COMPAT */ +#endif /* CONFIG_AARCH32_EL0 */ #endif /* __KERNEL__ */ #endif /* __ASM_SIGNAL32_H */ diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h index 41e58fe..2971dea 100644 --- a/arch/arm64/include/asm/unistd.h +++ b/arch/arm64/include/asm/unistd.h @@ -13,7 +13,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 #define __ARCH_WANT_COMPAT_SYS_GETDENTS64 #define __ARCH_WANT_COMPAT_STAT64 #define __ARCH_WANT_SYS_GETHOSTNAME diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile index 474691f..bf75a7f 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -25,7 +25,7 @@ OBJCOPYFLAGS := --prefix-symbols=__efistub_ $(obj)/%.stub.o: $(obj)/%.o FORCE $(call if_changed,objcopy) -arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ +arm64-obj-$(CONFIG_AARCH32_EL0) += sys32.o kuser32.o signal32.o \ sys_compat.o entry32.o \ ../../arm/kernel/opcodes.o arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c index 25de8b2..0d4f1e7 100644 --- a/arch/arm64/kernel/asm-offsets.c +++ b/arch/arm64/kernel/asm-offsets.c @@ -51,7 +51,7 @@ int main(void) DEFINE(S_X7, offsetof(struct pt_regs, regs[7])); DEFINE(S_LR, offsetof(struct pt_regs, regs[30])); DEFINE(S_SP, offsetof(struct pt_regs, sp)); -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 DEFINE(S_COMPAT_SP, offsetof(struct pt_regs, compat_sp)); #endif DEFINE(S_PSTATE, offsetof(struct pt_regs, pstate)); diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 7ed3d75..5eb1bb7 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -212,7 +212,7 @@ ENTRY(vectors) ventry el0_fiq_invalid // FIQ 64-bit EL0 ventry el0_error_invalid // Error 64-bit EL0 -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 ventry el0_sync_compat // Synchronous 32-bit EL0 ventry el0_irq_compat // IRQ 32-bit EL0 ventry el0_fiq_invalid_compat // FIQ 32-bit EL0 @@ -252,7 +252,7 @@ el0_error_invalid: inv_entry 0, BAD_ERROR ENDPROC(el0_error_invalid) -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 el0_fiq_invalid_compat: inv_entry 0, BAD_FIQ, 32 ENDPROC(el0_fiq_invalid_compat) @@ -414,7 +414,7 @@ el0_sync: b.ge el0_dbg b el0_inv -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 .align 6 el0_sync_compat: kernel_entry 0, 32 diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 23cfc08..a554e3a 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -507,7 +507,7 @@ CPU_LE( movk x0, #0x30d0, lsl #16 ) // Clear EE and E0E on LE systems mov x0, #0x33ff msr cptr_el2, x0 // Disable copro. traps to EL2 -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 msr hstr_el2, xzr // Disable CP15 traps to EL2 #endif diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index 1971f49..6b02f26 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -76,7 +76,7 @@ static void ptrace_hbptriggered(struct perf_event *bp, .si_addr = (void __user *)(bkpt->trigger), }; -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 int i; if (!is_compat_task()) @@ -651,7 +651,7 @@ static const struct user_regset_view user_aarch64_view = { .regsets = aarch64_regsets, .n = ARRAY_SIZE(aarch64_regsets) }; -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 #include enum compat_regset { @@ -1186,11 +1186,11 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request, return ret; } -#endif /* CONFIG_COMPAT */ +#endif /* CONFIG_AARCH32_EL0 */ const struct user_regset_view *task_user_regset_view(struct task_struct *task) { -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 /* * Core dumping of 32-bit tasks or compat ptrace requests must use the * user_aarch32_view compatible with arm32. Native ptrace requests on diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index e9b9b53..b50fced 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -368,7 +368,7 @@ long compat_arm_syscall(struct pt_regs *regs); asmlinkage long do_ni_syscall(struct pt_regs *regs) { -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 long ret; if (is_compat_task()) { ret = compat_arm_syscall(regs); diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c index 97bc68f..26352a6 100644 --- a/arch/arm64/kernel/vdso.c +++ b/arch/arm64/kernel/vdso.c @@ -49,7 +49,7 @@ static union { } vdso_data_store __page_aligned_data; struct vdso_data *vdso_data = &vdso_data_store.data; -#ifdef CONFIG_COMPAT +#ifdef CONFIG_AARCH32_EL0 /* * Create and map the vectors page for AArch32 tasks. */ @@ -107,7 +107,7 @@ int aarch32_setup_vectors_page(struct linux_binprm *bprm, int uses_interp) return PTR_ERR_OR_ZERO(ret); } -#endif /* CONFIG_COMPAT */ +#endif /* CONFIG_AARCH32_EL0 */ static struct vm_special_mapping vdso_spec[2];