• Dominik Brodowski's avatar
    syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention · 5ac9efa3
    Dominik Brodowski authored
    Tidy the naming convention for compat syscall subs. Hints which describe
    the purpose of the stub go in front and receive a double underscore to
    denote that they are generated on-the-fly by the COMPAT_SYSCALL_DEFINEx()
    macro.
    
    For the generic case, this means:
    
    t            kernel_waitid	# common C function (see kernel/exit.c)
    
        __do_compat_sys_waitid	# inlined helper doing the actual work
    				# (takes original parameters as declared)
    
    T   __se_compat_sys_waitid	# sign-extending C function calling inlined
    				# helper (takes parameters of type long,
    				# casts them to unsigned long and then to
    				# the declared type)
    
    T        compat_sys_waitid      # alias to __se_compat_sys_waitid()
    				# (taking parameters as declared), to
    				# be included in syscall table
    
    For x86, the naming is as follows:
    
    t            kernel_waitid	# common C function (see kernel/exit.c)
    
        __do_compat_sys_waitid	# inlined helper doing the actual work
    				# (takes original parameters as declared)
    
    t   __se_compat_sys_waitid      # sign-extending C function calling inlined
    				# helper (takes parameters of type long,
    				# casts them to unsigned long and then to
    				# the declared type)
    
    T __ia32_compat_sys_waitid	# IA32_EMULATION 32-bit-ptregs -> C stub,
    				# calls __se_compat_sys_waitid(); to be
    				# included in syscall table
    
    T  __x32_compat_sys_waitid	# x32 64-bit-ptregs -> C stub, calls
    				# __se_compat_sys_waitid(); to be included
    				# in syscall table
    
    If only one of IA32_EMULATION and x32 is enabled, __se_compat_sys_waitid()
    may be inlined into the stub __{ia32,x32}_compat_sys_waitid().
    Suggested-by: default avatarIngo Molnar <mingo@kernel.org>
    Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/20180409105145.5364-3-linux@dominikbrodowski.netSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5ac9efa3
syscalls.h 1.3 KB