linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] add support for relative references in jump tables
@ 2018-06-27 16:05 Ard Biesheuvel
  2018-06-27 16:06 ` [PATCH 1/5] kernel/jump_label: abstract jump_entry member accessors Ard Biesheuvel
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Ard Biesheuvel @ 2018-06-27 16:05 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel, x86
  Cc: Ard Biesheuvel, Catalin Marinas, Will Deacon, Thomas Gleixner,
	Ingo Molnar, Arnd Bergmann, Steven Rostedt, Peter Zijlstra

This series implements support for emitting the data structures associated
with jump tables as 32-bit relative references instead of absolute
references, which take up more space on builds that target 64-bit
architectures, or implement self relocation [or both].

This series enables it for arm64 and x86, although other architectures
might benefit as well.

Patch #1 does some preparatory refactoring before patch #2 introduces the
generic pieces required for using relative references.

Patch #3 wires everything up for arm64.

For x86, patch #4 applies some preparatory changes for the arch specific
jump label C code, which is a lot more involved than on arm64, which is
why it is split off in this case. Patch #5 wires it up for x86 as well.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com> 
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>

Ard Biesheuvel (5):
  kernel/jump_label: abstract jump_entry member accessors
  kernel/jump_label: implement generic support for relative references
  arm64/kernel: jump_label: switch to relative references
  x86: jump_label: switch to jump_entry accessors
  x86/kernel: jump_table: use relative references

 arch/Kconfig                        |  3 +
 arch/arm64/Kconfig                  |  1 +
 arch/arm64/include/asm/jump_label.h | 16 ++---
 arch/arm64/kernel/jump_label.c      |  6 +-
 arch/x86/Kconfig                    |  1 +
 arch/x86/include/asm/jump_label.h   | 28 +++------
 arch/x86/kernel/jump_label.c        | 43 +++++++------
 include/linux/jump_label.h          | 64 ++++++++++++++++++++
 kernel/jump_label.c                 | 56 ++++++++++-------
 tools/objtool/special.c             |  4 +-
 10 files changed, 145 insertions(+), 77 deletions(-)

-- 
2.11.0


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

end of thread, other threads:[~2018-07-02  5:18 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-27 16:05 [PATCH 0/5] add support for relative references in jump tables Ard Biesheuvel
2018-06-27 16:06 ` [PATCH 1/5] kernel/jump_label: abstract jump_entry member accessors Ard Biesheuvel
2018-06-28  8:40   ` Peter Zijlstra
2018-06-27 16:06 ` [PATCH 2/5] kernel/jump_label: implement generic support for relative references Ard Biesheuvel
2018-06-28  8:50   ` Peter Zijlstra
2018-06-28  9:02     ` Ard Biesheuvel
2018-06-28  9:04       ` Ard Biesheuvel
2018-06-28  9:25         ` Peter Zijlstra
2018-06-28  9:29           ` Ard Biesheuvel
2018-06-28  9:37             ` Peter Zijlstra
2018-06-27 16:06 ` [PATCH 3/5] arm64/kernel: jump_label: switch to " Ard Biesheuvel
2018-06-28  9:17   ` Will Deacon
2018-06-27 16:06 ` [PATCH 4/5] x86: jump_label: switch to jump_entry accessors Ard Biesheuvel
2018-06-28  9:11   ` Peter Zijlstra
2018-06-28  9:14     ` Ard Biesheuvel
2018-06-27 16:06 ` [PATCH 5/5] x86/kernel: jump_table: use relative references Ard Biesheuvel
2018-06-28  8:31   ` Peter Zijlstra
2018-06-28  8:34     ` Ard Biesheuvel
2018-06-28  9:28       ` Peter Zijlstra
2018-07-02  5:14   ` [lkp-robot] [x86/kernel] b1ff47aace: WARNING:at_kernel/jump_label.c:#__jump_label_update kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).