jump_label: Implement generic support for relative references
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 19 Sep 2018 06:51:37 +0000 (23:51 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 27 Sep 2018 15:56:47 +0000 (17:56 +0200)
commit50ff18ab497aa22f6a59444625df7508c8918237
treee3d2dd15c0a13765fc242bb908c9cd91da48a951
parent9ae033aca8d600e36034d4d0743aad624cec92ed
jump_label: Implement generic support for relative references

To reduce the size taken up by absolute references in jump label
entries themselves and the associated relocation records in the
.init segment, add support for emitting them as relative references
instead.

Note that this requires some extra care in the sorting routine, given
that the offsets change when entries are moved around in the jump_entry
table.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-s390@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Jessica Yu <jeyu@kernel.org>
Link: https://lkml.kernel.org/r/20180919065144.25010-3-ard.biesheuvel@linaro.org
arch/Kconfig
include/linux/jump_label.h
kernel/jump_label.c