]> Git Repo - linux.git/commitdiff
Merge branch 'for-next/pkey-signal' into for-next/core
authorCatalin Marinas <[email protected]>
Thu, 14 Nov 2024 12:07:30 +0000 (12:07 +0000)
committerCatalin Marinas <[email protected]>
Thu, 14 Nov 2024 12:07:30 +0000 (12:07 +0000)
* for-next/pkey-signal:
  : Bring arm64 pkey signal delivery in line with the x86 behaviour
  selftests/mm: Fix unused function warning for aarch64_write_signal_pkey()
  selftests/mm: Define PKEY_UNRESTRICTED for pkey_sighandler_tests
  selftests/mm: Enable pkey_sighandler_tests on arm64
  selftests/mm: Use generic pkey register manipulation
  arm64: signal: Remove unused macro
  arm64: signal: Remove unnecessary check when saving POE state
  arm64: signal: Improve POR_EL0 handling to avoid uaccess failures
  firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()
  Revert "kasan: Disable Software Tag-Based KASAN with GCC"
  kasan: Fix Software Tag-Based KASAN with GCC
  kasan: Disable Software Tag-Based KASAN with GCC
  Documentation/protection-keys: add AArch64 to documentation
  arm64: set POR_EL0 for kernel threads

# Conflicts:
# arch/arm64/kernel/signal.c

1  2 
arch/arm64/kernel/process.c
arch/arm64/kernel/signal.c

Simple merge
index 2eb2e97a934f662a9e15815d93e73de8e27d5ffd,b077181a66c09b5fda8dffa10cde7335b8d030d2..14ac6fdb872b9672e4b16a097f1b577aae8dec50
@@@ -1075,12 -981,9 +1132,12 @@@ SYSCALL_DEFINE0(rt_sigreturn
        if (!access_ok(frame, sizeof (*frame)))
                goto badframe;
  
-       if (restore_sigframe(regs, frame))
+       if (restore_sigframe(regs, frame, &ua_state))
                goto badframe;
  
 +      if (gcs_restore_signal())
 +              goto badframe;
 +
        if (restore_altstack(&frame->uc.uc_stack))
                goto badframe;
  
@@@ -1447,11 -1296,8 +1506,8 @@@ static int setup_return(struct pt_regs 
                sme_smstop();
        }
  
-       if (system_supports_poe())
-               write_sysreg_s(POR_EL0_INIT, SYS_POR_EL0);
 -      if (ka->sa.sa_flags & SA_RESTORER)
 -              sigtramp = ka->sa.sa_restorer;
 +      if (ksig->ka.sa.sa_flags & SA_RESTORER)
 +              sigtramp = ksig->ka.sa.sa_restorer;
        else
                sigtramp = VDSO_SYMBOL(current->mm->context.vdso, sigtramp);
  
@@@ -1478,9 -1324,9 +1536,9 @@@ static int setup_rt_frame(int usig, str
        __put_user_error(NULL, &frame->uc.uc_link, err);
  
        err |= __save_altstack(&frame->uc.uc_stack, regs->sp);
-       err |= setup_sigframe(&user, regs, set);
+       err |= setup_sigframe(&user, regs, set, &ua_state);
        if (err == 0) {
 -              setup_return(regs, &ksig->ka, &user, usig);
 +              err = setup_return(regs, ksig, &user, usig);
                if (ksig->ka.sa.sa_flags & SA_SIGINFO) {
                        err |= copy_siginfo_to_user(&frame->info, &ksig->info);
                        regs->regs[1] = (unsigned long)&frame->info;
This page took 0.053993 seconds and 4 git commands to generate.