lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 1 Nov 2017 13:55:53 -0700 From: tip-bot for Ricardo Neri <tipbot@...or.com> To: linux-tip-commits@...r.kernel.org Cc: bp@...e.de, lstoakes@...il.com, vbabka@...e.cz, hpa@...or.com, tglx@...utronix.de, dvyukov@...gle.com, akpm@...ux-foundation.org, mingo@...nel.org, dave.hansen@...ux.intel.com, ray.huang@....com, jslaby@...e.cz, ricardo.neri-calderon@...ux.intel.com, mhiramat@...nel.org, luto@...nel.org, corbet@....net, acme@...hat.com, adam.buchbinder@...il.com, ravi.v.shankar@...el.com, paul.gortmaker@...driver.com, keescook@...omium.org, pbonzini@...hat.com, slaoub@...il.com, shuah@...nel.org, linux-kernel@...r.kernel.org, cmetcalf@...lanox.com, mst@...hat.com, qiaowei.ren@...el.com, colin.king@...onical.com, brgerst@...il.com, peterz@...radead.org, thgarnie@...gle.com, adrian.hunter@...el.com Subject: [tip:x86/mpx] ptrace,x86: Make user_64bit_mode() available to 32-bit builds Commit-ID: e27c310af5c05cf876d9cad006928076c27f54d4 Gitweb: https://git.kernel.org/tip/e27c310af5c05cf876d9cad006928076c27f54d4 Author: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com> AuthorDate: Fri, 27 Oct 2017 13:25:30 -0700 Committer: Thomas Gleixner <tglx@...utronix.de> CommitDate: Wed, 1 Nov 2017 21:50:08 +0100 ptrace,x86: Make user_64bit_mode() available to 32-bit builds In its current form, user_64bit_mode() can only be used when CONFIG_X86_64 is selected. This implies that code built with CONFIG_X86_64=n cannot use it. If a piece of code needs to be built for both CONFIG_X86_64=y and CONFIG_X86_64=n and wants to use this function, it needs to wrap it in an #ifdef/#endif; potentially, in multiple places. This can be easily avoided with a single #ifdef/#endif pair within user_64bit_mode() itself. Suggested-by: Borislav Petkov <bp@...e.de> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com> Signed-off-by: Thomas Gleixner <tglx@...utronix.de> Reviewed-by: Borislav Petkov <bp@...e.de> Cc: "Michael S. Tsirkin" <mst@...hat.com> Cc: Peter Zijlstra <peterz@...radead.org> Cc: Dave Hansen <dave.hansen@...ux.intel.com> Cc: ricardo.neri@...el.com Cc: Adrian Hunter <adrian.hunter@...el.com> Cc: Paul Gortmaker <paul.gortmaker@...driver.com> Cc: Huang Rui <ray.huang@....com> Cc: Qiaowei Ren <qiaowei.ren@...el.com> Cc: Shuah Khan <shuah@...nel.org> Cc: Kees Cook <keescook@...omium.org> Cc: Jonathan Corbet <corbet@....net> Cc: Jiri Slaby <jslaby@...e.cz> Cc: Dmitry Vyukov <dvyukov@...gle.com> Cc: "Ravi V. Shankar" <ravi.v.shankar@...el.com> Cc: Chris Metcalf <cmetcalf@...lanox.com> Cc: Brian Gerst <brgerst@...il.com> Cc: Arnaldo Carvalho de Melo <acme@...hat.com> Cc: Andy Lutomirski <luto@...nel.org> Cc: Colin Ian King <colin.king@...onical.com> Cc: Chen Yucong <slaoub@...il.com> Cc: Adam Buchbinder <adam.buchbinder@...il.com> Cc: Vlastimil Babka <vbabka@...e.cz> Cc: Lorenzo Stoakes <lstoakes@...il.com> Cc: Masami Hiramatsu <mhiramat@...nel.org> Cc: Paolo Bonzini <pbonzini@...hat.com> Cc: Andrew Morton <akpm@...ux-foundation.org> Cc: Thomas Garnier <thgarnie@...gle.com> Link: https://lkml.kernel.org/r/1509135945-13762-4-git-send-email-ricardo.neri-calderon@linux.intel.com --- arch/x86/include/asm/ptrace.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h index 91c04c8..e2afbf6 100644 --- a/arch/x86/include/asm/ptrace.h +++ b/arch/x86/include/asm/ptrace.h @@ -135,9 +135,9 @@ static inline int v8086_mode(struct pt_regs *regs) #endif } -#ifdef CONFIG_X86_64 static inline bool user_64bit_mode(struct pt_regs *regs) { +#ifdef CONFIG_X86_64 #ifndef CONFIG_PARAVIRT /* * On non-paravirt systems, this is the only long mode CPL 3 @@ -148,8 +148,12 @@ static inline bool user_64bit_mode(struct pt_regs *regs) /* Headers are too twisted for this to go in paravirt.h. */ return regs->cs == __USER_CS || regs->cs == pv_info.extra_user_64bit_cs; #endif +#else /* !CONFIG_X86_64 */ + return false; +#endif } +#ifdef CONFIG_X86_64 #define current_user_stack_pointer() current_pt_regs()->sp #define compat_user_stack_pointer() current_pt_regs()->sp #endif
Powered by blists - more mailing lists