public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Cleanup/Optimise KUAP (v2)
@ 2023-07-03  8:48 Christophe Leroy
  2023-07-03  8:48 ` [PATCH v2 1/9] powerpc/kuap: Avoid unnecessary reads of MD_AP Christophe Leroy
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Christophe Leroy @ 2023-07-03  8:48 UTC (permalink / raw)
  To: Michael Ellerman, Nicholas Piggin
  Cc: Christophe Leroy, linux-kernel, linuxppc-dev

This series is cleaning up a bit KUAP in preparation of using objtool
to validate UACCESS.

There are two main changes in this series:

1/ Simplification of KUAP on book3s/32

2/ Using ASM features on 32 bits and booke as suggested by Nic.

Those changes will be required for objtool UACCESS validation, but
even before they are worth it, especially the simplification on 32s.

Christophe Leroy (9):
  powerpc/kuap: Avoid unnecessary reads of MD_AP
  powerpc/kuap: Avoid useless jump_label on empty function
  powerpc/kuap: Fold kuep_is_disabled() into its only user
  powerpc/features: Add capability to update mmu features later
  powerpc/kuap: MMU_FTR_BOOK3S_KUAP becomes MMU_FTR_KUAP
  powerpc/kuap: Use MMU_FTR_KUAP on all and refactor disabling kuap
  powerpc/kuap: Simplify KUAP lock/unlock on BOOK3S/32
  powerpc/kuap: KUAP enabling/disabling functions must be
    __always_inline
  powerpc/kuap: Use ASM feature fixups instead of static branches

 arch/powerpc/include/asm/book3s/32/kup.h      | 131 +++++++-----------
 .../powerpc/include/asm/book3s/64/hash-pkey.h |   2 +-
 arch/powerpc/include/asm/book3s/64/kup.h      |  54 +++-----
 arch/powerpc/include/asm/bug.h                |   1 +
 arch/powerpc/include/asm/feature-fixups.h     |   1 +
 arch/powerpc/include/asm/kup.h                |  91 +++++-------
 arch/powerpc/include/asm/mmu.h                |   4 +-
 arch/powerpc/include/asm/nohash/32/kup-8xx.h  |  62 ++++-----
 arch/powerpc/include/asm/nohash/kup-booke.h   |  68 ++++-----
 arch/powerpc/include/asm/uaccess.h            |   6 +-
 arch/powerpc/kernel/cputable.c                |   4 +
 arch/powerpc/kernel/syscall.c                 |   2 +-
 arch/powerpc/kernel/traps.c                   |   2 +-
 arch/powerpc/lib/feature-fixups.c             |  31 ++++-
 arch/powerpc/mm/book3s32/kuap.c               |  20 +--
 arch/powerpc/mm/book3s32/mmu_context.c        |   2 +-
 arch/powerpc/mm/book3s64/pkeys.c              |   2 +-
 arch/powerpc/mm/init_32.c                     |   2 +
 arch/powerpc/mm/nohash/kup.c                  |   8 +-
 19 files changed, 220 insertions(+), 273 deletions(-)

-- 
2.41.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-07-03  8:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-03  8:48 [PATCH v2 0/9] Cleanup/Optimise KUAP (v2) Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 1/9] powerpc/kuap: Avoid unnecessary reads of MD_AP Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 2/9] powerpc/kuap: Avoid useless jump_label on empty function Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 3/9] powerpc/kuap: Fold kuep_is_disabled() into its only user Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 4/9] powerpc/features: Add capability to update mmu features later Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 5/9] powerpc/kuap: MMU_FTR_BOOK3S_KUAP becomes MMU_FTR_KUAP Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 6/9] powerpc/kuap: Use MMU_FTR_KUAP on all and refactor disabling kuap Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 7/9] powerpc/kuap: Simplify KUAP lock/unlock on BOOK3S/32 Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 8/9] powerpc/kuap: KUAP enabling/disabling functions must be __always_inline Christophe Leroy
2023-07-03  8:48 ` [PATCH v2 9/9] powerpc/kuap: Use ASM feature fixups instead of static branches Christophe Leroy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox