Skip to content
  • Dominik Brodowski's avatar
    syscalls/core, syscalls/x86: Clean up compat syscall stub naming convention · 5ac9efa3
    Dominik Brodowski authored and Ingo Molnar's avatar Ingo Molnar committed
    
    
    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.net
    
    
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5ac9efa3