Subject: [PATCH v2 00/24] cpu,sched: Mark arch_cpu_idle_dead() __noreturn

From: Josh Poimboeuf <[email-masked]>
Date: Mon, 13 Feb 2023 23:05:34 -0800

v2:
- make arch_call_rest_init() and rest_init() __noreturn
- make objtool 'global_returns' work for weak functions
- rebase on tip/objtool/core with dependencies merged in (mingo)
- add acks

v1.1:
- add __noreturn to all arch_cpu_idle_dead() implementations (mpe)

Josh Poimboeuf (24):
  alpha/cpu: Expose arch_cpu_idle_dead()'s prototype declaration
  alpha/cpu: Make sure arch_cpu_idle_dead() doesn't return
  arm/cpu: Make sure arch_cpu_idle_dead() doesn't return
  arm64/cpu: Mark cpu_die() __noreturn
  csky/cpu: Make sure arch_cpu_idle_dead() doesn't return
  ia64/cpu: Mark play_dead() __noreturn
  loongarch/cpu: Make sure play_dead() doesn't return
  loongarch/cpu: Mark play_dead() __noreturn
  mips/cpu: Expose play_dead()'s prototype definition
  mips/cpu: Make sure play_dead() doesn't return
  mips/cpu: Mark play_dead() __noreturn
  powerpc/cpu: Mark start_secondary_resume() __noreturn
  sh/cpu: Make sure play_dead() doesn't return
  sh/cpu: Mark play_dead() __noreturn
  sh/cpu: Expose arch_cpu_idle_dead()'s prototype definition
  sparc/cpu: Mark cpu_play_dead() __noreturn
  x86/cpu: Make sure play_dead() doesn't return
  x86/cpu: Mark play_dead() __noreturn
  xtensa/cpu: Make sure cpu_die() doesn't return
  xtensa/cpu: Mark cpu_die() __noreturn
  sched/idle: Make sure weak version of arch_cpu_idle_dead() doesn't
    return
  objtool: Include weak functions in 'global_noreturns' check
  init: Make arch_call_rest_init() and rest_init() __noreturn
  sched/idle: Mark arch_cpu_idle_dead() __noreturn

 arch/alpha/kernel/process.c      |  4 +++-
 arch/arm/kernel/smp.c            |  4 +++-
 arch/arm64/include/asm/smp.h     |  2 +-
 arch/arm64/kernel/process.c      |  2 +-
 arch/csky/kernel/smp.c           |  4 +++-
 arch/ia64/kernel/process.c       |  6 +++---
 arch/loongarch/include/asm/smp.h |  2 +-
 arch/loongarch/kernel/process.c  |  2 +-
 arch/loongarch/kernel/smp.c      |  2 +-
 arch/mips/include/asm/smp.h      |  2 +-
 arch/mips/kernel/process.c       |  2 +-
 arch/mips/kernel/smp-bmips.c     |  3 +++
 arch/mips/loongson64/smp.c       |  1 +
 arch/parisc/kernel/process.c     |  2 +-
 arch/powerpc/include/asm/smp.h   |  2 +-
 arch/powerpc/kernel/smp.c        |  2 +-
 arch/riscv/kernel/cpu-hotplug.c  |  2 +-
 arch/s390/kernel/idle.c          |  2 +-
 arch/s390/kernel/setup.c         |  2 +-
 arch/sh/include/asm/smp-ops.h    |  5 +++--
 arch/sh/kernel/idle.c            |  3 ++-
 arch/sparc/include/asm/smp_64.h  |  2 +-
 arch/sparc/kernel/process_64.c   |  2 +-
 arch/x86/include/asm/smp.h       |  3 ++-
 arch/x86/kernel/process.c        |  4 ++--
 arch/xtensa/include/asm/smp.h    |  2 +-
 arch/xtensa/kernel/smp.c         |  4 +++-
 include/linux/cpu.h              |  2 +-
 include/linux/start_kernel.h     |  4 ++--
 init/main.c                      |  4 ++--
 kernel/sched/idle.c              |  2 +-
 tools/objtool/check.c            | 11 +++++++----
 32 files changed, 57 insertions(+), 39 deletions(-)

-- 
2.39.1