• Linus Torvalds's avatar
    Merge branch 'for-v5.13-rc3' of... · a0e31f3a
    Linus Torvalds authored
    Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
    
    Pull siginfo fix from Eric Biederman:
     "During the merge window an issue with si_perf and the siginfo ABI came
      up. The alpha and sparc siginfo structure layout had changed with the
      addition of SIGTRAP TRAP_PERF and the new field si_perf.
    
      The reason only alpha and sparc were affected is that they are the
      only architectures that use si_trapno.
    
      Looking deeper it was discovered that si_trapno is used for only a few
      select signals on alpha and sparc, and that none of the other
      _sigfault fields past si_addr are used at all. Which means technically
      no regression on alpha and sparc.
    
      While the alignment concerns might be dismissed the abuse of si_errno
      by SIGTRAP TRAP_PERF does have the potential to cause regressions in
      existing userspace.
    
      While we still have time before userspace starts using and depending
      on the new definition siginfo for SIGTRAP TRAP_PERF this set of
      changes cleans up siginfo_t.
    
       - The si_trapno field is demoted from magic alpha and sparc status
         and made an ordinary union member of the _sigfault member of
         siginfo_t. Without moving it of course.
    
       - si_perf is replaced with si_perf_data and si_perf_type ending the
         abuse of si_errno.
    
       - Unnecessary additions to signalfd_siginfo are removed"
    
    * 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
      signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo
      signal: Deliver all of the siginfo perf data in _perf
      signal: Factor force_sig_perf out of perf_sigtrap
      signal: Implement SIL_FAULT_TRAPNO
      siginfo: Move si_trapno inside the union inside _si_fault
    a0e31f3a
signal.c 122 KB