From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Safonov Subject: [RFC-resend 0/2] compat: in_compat_syscall() differs on x86 Date: Fri, 12 Oct 2018 14:42:51 +0100 Message-ID: <20181012134253.23266-1-dima@arista.com> Cc: Dmitry Safonov <0x7f454c46@gmail.com>, Dmitry Safonov , Ard Biesheuvel , Andy Lutomirsky , "David S. Miller" , Herbert Xu , "H. Peter Anvin" , Ingo Molnar , John Stultz , "Kirill A. Shutemov" , Oleg Nesterov , Steffen Klassert , Stephen Boyd , Steven Rostedt , Thomas Gleixner , x86@kernel.org, linux-efi@vger.kernel.org, netdev@vger.kernel.org To: linux-kernel@vger.kernel.org Return-path: Received: from mail-ed1-f68.google.com ([209.85.208.68]:41407 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728574AbeJLVP1 (ORCPT ); Fri, 12 Oct 2018 17:15:27 -0400 Received: by mail-ed1-f68.google.com with SMTP id x31-v6so11520302edd.8 for ; Fri, 12 Oct 2018 06:42:55 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Reading xfrm (ipsec) code I've found such code: : #ifdef CONFIG_COMPAT : if (in_compat_syscall()) : return -EOPNOTSUPP; : #endif While I can read that it's false on native i386, it's a bit misleading and in result it's better to introduce a helper for that. Grepping other code, I've found that there are already such helpers. And the uniq behavior of in_compat_syscall() on x86 is disturbing. Adjusting it to generic with the following.. (on the first non-resend RFC I managed to forget Cc'ing Andy.. sorry about that, was sure I did add him). Cc: Ard Biesheuvel Cc: Andy Lutomirsky Cc: "David S. Miller" Cc: Herbert Xu Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: John Stultz Cc: "Kirill A. Shutemov" Cc: Oleg Nesterov Cc: Steffen Klassert Cc: Stephen Boyd Cc: Steven Rostedt Cc: Thomas Gleixner Cc: x86@kernel.org Cc: linux-efi@vger.kernel.org Cc: netdev@vger.kernel.org Cc: Dmitry Safonov <0x7f454c46@gmail.com> Dmitry Safonov (2): x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT compat: Cleanup in_compat_syscall() callers arch/x86/include/asm/compat.h | 9 ++++++++- arch/x86/include/asm/ftrace.h | 4 +--- arch/x86/kernel/process_64.c | 4 ++-- arch/x86/kernel/sys_x86_64.c | 11 ++++++----- arch/x86/mm/hugetlbpage.c | 4 ++-- arch/x86/mm/mmap.c | 2 +- drivers/firmware/efi/efivars.c | 16 ++++------------ include/linux/compat.h | 4 ++-- kernel/time/time.c | 2 +- net/xfrm/xfrm_state.c | 2 -- net/xfrm/xfrm_user.c | 2 -- 11 files changed, 27 insertions(+), 33 deletions(-) -- 2.13.6