• Linus Torvalds's avatar
    Merge tag 'core-entry-2020-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1ac0884d
    Linus Torvalds authored
    Pull core entry/exit updates from Thomas Gleixner:
     "A set of updates for entry/exit handling:
    
       - More generalization of entry/exit functionality
    
       - The consolidation work to reclaim TIF flags on x86 and also for
         non-x86 specific TIF flags which are solely relevant for syscall
         related work and have been moved into their own storage space. The
         x86 specific part had to be merged in to avoid a major conflict.
    
       - The TIF_NOTIFY_SIGNAL work which replaces the inefficient signal
         delivery mode of task work and results in an impressive performance
         improvement for io_uring. The non-x86 consolidation of this is
         going to come seperate via Jens.
    
       - The selective syscall redirection facility which provides a clean
         and efficient way to support the non-Linux syscalls of WINE by
         catching them at syscall entry and redirecting them to the user
         space emulation. This can be utilized for other purposes as well
         and has been designed carefully to avoid overhead for the regular
         fastpath. This includes the core changes and the x86 support code.
    
       - Simplification of the context tracking entry/exit handling for the
         users of the generic entry code which guarantee the proper ordering
         and protection.
    
       - Preparatory changes to make the generic entry code accomodate S390
         specific requirements which are mostly related to their syscall
         restart mechanism"
    
    * tag 'core-entry-2020-12-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
      entry: Add syscall_exit_to_user_mode_work()
      entry: Add exit_to_user_mode() wrapper
      entry_Add_enter_from_user_mode_wrapper
      entry: Rename exit_to_user_mode()
      entry: Rename enter_from_user_mode()
      docs: Document Syscall User Dispatch
      selftests: Add benchmark for syscall user dispatch
      selftests: Add kselftest for syscall user dispatch
      entry: Support Syscall User Dispatch on common syscall entry
      kernel: Implement selective syscall userspace redirection
      signal: Expose SYS_USER_DISPATCH si_code type
      x86: vdso: Expose sigreturn address on vdso to the kernel
      MAINTAINERS: Add entry for common entry code
      entry: Fix boot for !CONFIG_GENERIC_ENTRY
      x86: Support HAVE_CONTEXT_TRACKING_OFFSTACK
      context_tracking: Only define schedule_user() on !HAVE_CONTEXT_TRACKING_OFFSTACK archs
      sched: Detect call to schedule from critical entry code
      context_tracking: Don't implement exception_enter/exit() on CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK
      context_tracking: Introduce HAVE_CONTEXT_TRACKING_OFFSTACK
      x86: Reclaim unused x86 TI flags
      ...
    1ac0884d
seccomp.c 54.2 KB