From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Borislav Petkov <bp@alien8.de>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andy Lutomirski <luto@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] x86/asm changes for v5.5
Date: Mon, 25 Nov 2019 17:08:21 +0100 [thread overview]
Message-ID: <20191125160821.GA42496@gmail.com> (raw)
Linus,
Please pull the latest x86-asm-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus
# HEAD: f01ec4fca8207e31b59a010c3de679c833f3a877 Merge branch 'x86/build' into x86/asm, to pick up completed topic branch
The main changes in this cycle were:
- Cross-arch changes to move the linker sections for NOTES and
EXCEPTION_TABLE into the RO_DATA area, where they belong on most
architectures. (Kees Cook)
- Switch the x86 linker fill byte from x90 (NOP) to 0xcc (INT3), to trap
jumps into the middle of those padding areas instead of sliding execution.
(Kees Cook)
- A thorough cleanup of symbol definitions within x86 assembler code.
The rather randomly named macros got streamlined around a (hopefully)
straightforward naming scheme:
SYM_START(name, linkage, align...)
SYM_END(name, sym_type)
SYM_FUNC_START(name)
SYM_FUNC_END(name)
SYM_CODE_START(name)
SYM_CODE_END(name)
SYM_DATA_START(name)
SYM_DATA_END(name)
etc. - with about three times of these basic primitives with some
label, local symbol or attribute variant, expressed via
postfixes.
No change in functionality intended.
(Jiri Slaby)
- Misc other changes, cleanups and smaller fixes.
Unfortunately the symbol rework will generate conflicts with pending
changes to assembly files.
Thanks,
Ingo
------------------>
Borislav Petkov (1):
x86/ftrace: Get rid of function_hook
Bruce Ashfield (1):
arch/x86/boot: Use prefix map to avoid embedded paths
Jiri Slaby (31):
x86/asm: Reorder early variables
x86/asm: Make boot_gdt_descr local
x86/asm: Make more symbols local
linkage: Introduce new macros for assembler symbols
x86/asm/suspend: Use SYM_DATA for data
x86/asm: Annotate relocate_kernel_{32,64}.c
x86/asm/entry: Annotate THUNKs
x86/asm: Annotate local pseudo-functions
x86/asm/crypto: Annotate local functions
x86/boot: Annotate local functions
x86/uaccess: Annotate local function
x86/asm: Annotate aliases
x86/asm/entry: Annotate interrupt symbols properly
x86/asm/head: Annotate data appropriately
x86/boot: Annotate data appropriately
x86/um: Annotate data appropriately
xen/pvh: Annotate data appropriately
x86/asm/purgatory: Start using annotations
x86/asm: Do not annotate functions with GLOBAL
x86/asm: Use SYM_INNER_LABEL instead of GLOBAL
x86/asm/realmode: Use SYM_DATA_* instead of GLOBAL
x86/asm: Remove the last GLOBAL user and remove the macro
x86/asm: Make some functions local
x86/asm/ftrace: Mark function_hook as function
x86/asm/64: Add ENDs to some functions and relabel with SYM_CODE_*
x86/asm/64: Change all ENTRY+END to SYM_CODE_*
x86/asm: Change all ENTRY+ENDPROC to SYM_FUNC_*
x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_*
x86/asm/32: Change all ENTRY+END to SYM_CODE_*
x86/asm/32: Change all ENTRY+ENDPROC to SYM_FUNC_*
x86/asm: Replace WEAK uses by SYM_INNER_LABEL_ALIGN
Kees Cook (30):
powerpc: Rename "notes" PT_NOTE to "note"
powerpc: Remove PT_NOTE workaround
powerpc: Rename PT_LOAD identifier "kernel" to "text"
alpha: Rename PT_LOAD identifier "kernel" to "text"
ia64: Rename PT_LOAD identifier "code" to "text"
s390: Move RO_DATA into "text" PT_LOAD Program Header
x86/vmlinux: Restore "text" Program Header with dummy section
vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
vmlinux.lds.h: Move Program Header restoration into NOTES macro
vmlinux.lds.h: Move NOTES into RO_DATA
vmlinux.lds.h: Replace RODATA with RO_DATA
vmlinux.lds.h: Replace RO_DATA_SECTION with RO_DATA
vmlinux.lds.h: Replace RW_DATA_SECTION with RW_DATA
vmlinux.lds.h: Allow EXCEPTION_TABLE to live in RO_DATA
x86/vmlinux: Actually use _etext for the end of the text segment
x86/vmlinux: Move EXCEPTION_TABLE to RO_DATA segment
alpha: Move EXCEPTION_TABLE to RO_DATA segment
arm64: Move EXCEPTION_TABLE to RO_DATA segment
c6x: Move EXCEPTION_TABLE to RO_DATA segment
h8300: Move EXCEPTION_TABLE to RO_DATA segment
ia64: Move EXCEPTION_TABLE to RO_DATA segment
microblaze: Move EXCEPTION_TABLE to RO_DATA segment
parisc: Move EXCEPTION_TABLE to RO_DATA segment
powerpc: Move EXCEPTION_TABLE to RO_DATA segment
xtensa: Move EXCEPTION_TABLE to RO_DATA segment
x86/mm: Remove redundant address-of operators on addresses
x86/mm: Report which part of kernel image is freed
x86/mm: Report actual image regions in /proc/iomem
x86/vmlinux: Use INT3 instead of NOP for linker fill bytes
m68k: Convert missed RODATA to RO_DATA
Masahiro Yamada (1):
x86/build/vdso: Remove meaningless CFLAGS_REMOVE_*.o
Peter Zijlstra (1):
ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions
Thomas Gleixner (2):
x86/entry/32: Remove unused resume_userspace label
x86/entry/64: Remove pointless jump in paranoid_exit
Documentation/asm-annotations.rst | 216 +++++++++++++++++++++++
Documentation/index.rst | 8 +
arch/alpha/kernel/vmlinux.lds.S | 18 +-
arch/arc/kernel/vmlinux.lds.S | 6 +-
arch/arm/kernel/vmlinux-xip.lds.S | 4 +-
arch/arm/kernel/vmlinux.lds.S | 4 +-
arch/arm64/kernel/vmlinux.lds.S | 10 +-
arch/c6x/kernel/vmlinux.lds.S | 8 +-
arch/csky/kernel/vmlinux.lds.S | 5 +-
arch/h8300/kernel/vmlinux.lds.S | 9 +-
arch/hexagon/kernel/vmlinux.lds.S | 5 +-
arch/ia64/kernel/vmlinux.lds.S | 20 +--
arch/m68k/kernel/vmlinux-nommu.lds | 4 +-
arch/m68k/kernel/vmlinux-std.lds | 4 +-
arch/m68k/kernel/vmlinux-sun3.lds | 4 +-
arch/microblaze/kernel/vmlinux.lds.S | 8 +-
arch/mips/kernel/vmlinux.lds.S | 15 +-
arch/nds32/kernel/vmlinux.lds.S | 5 +-
arch/nios2/kernel/vmlinux.lds.S | 5 +-
arch/openrisc/kernel/vmlinux.lds.S | 7 +-
arch/parisc/kernel/vmlinux.lds.S | 11 +-
arch/powerpc/kernel/vmlinux.lds.S | 37 +---
arch/riscv/kernel/vmlinux.lds.S | 5 +-
arch/s390/kernel/vmlinux.lds.S | 12 +-
arch/sh/kernel/vmlinux.lds.S | 3 +-
arch/sparc/kernel/vmlinux.lds.S | 3 +-
arch/um/include/asm/common.lds.S | 3 +-
arch/unicore32/kernel/vmlinux.lds.S | 5 +-
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/boot/compressed/efi_stub_32.S | 4 +-
arch/x86/boot/compressed/efi_thunk_64.S | 33 ++--
arch/x86/boot/compressed/head_32.S | 15 +-
arch/x86/boot/compressed/head_64.S | 63 +++----
arch/x86/boot/compressed/mem_encrypt.S | 11 +-
arch/x86/boot/copy.S | 16 +-
arch/x86/boot/pmjump.S | 10 +-
arch/x86/crypto/aegis128-aesni-asm.S | 36 ++--
arch/x86/crypto/aes_ctrby8_avx-x86_64.S | 12 +-
arch/x86/crypto/aesni-intel_asm.S | 114 ++++++------
arch/x86/crypto/aesni-intel_avx-x86_64.S | 32 ++--
arch/x86/crypto/blowfish-x86_64-asm_64.S | 16 +-
arch/x86/crypto/camellia-aesni-avx-asm_64.S | 44 ++---
arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 44 ++---
arch/x86/crypto/camellia-x86_64-asm_64.S | 16 +-
arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 24 +--
arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 32 ++--
arch/x86/crypto/chacha-avx2-x86_64.S | 12 +-
arch/x86/crypto/chacha-avx512vl-x86_64.S | 12 +-
arch/x86/crypto/chacha-ssse3-x86_64.S | 16 +-
arch/x86/crypto/crc32-pclmul_asm.S | 4 +-
arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 4 +-
arch/x86/crypto/crct10dif-pcl-asm_64.S | 4 +-
arch/x86/crypto/des3_ede-asm_64.S | 8 +-
arch/x86/crypto/ghash-clmulni-intel_asm.S | 12 +-
arch/x86/crypto/nh-avx2-x86_64.S | 4 +-
arch/x86/crypto/nh-sse2-x86_64.S | 4 +-
arch/x86/crypto/poly1305-avx2-x86_64.S | 4 +-
arch/x86/crypto/poly1305-sse2-x86_64.S | 8 +-
arch/x86/crypto/serpent-avx-x86_64-asm_64.S | 32 ++--
arch/x86/crypto/serpent-avx2-asm_64.S | 32 ++--
arch/x86/crypto/serpent-sse2-i586-asm_32.S | 8 +-
arch/x86/crypto/serpent-sse2-x86_64-asm_64.S | 8 +-
arch/x86/crypto/sha1_avx2_x86_64_asm.S | 4 +-
arch/x86/crypto/sha1_ni_asm.S | 4 +-
arch/x86/crypto/sha1_ssse3_asm.S | 4 +-
arch/x86/crypto/sha256-avx-asm.S | 4 +-
arch/x86/crypto/sha256-avx2-asm.S | 4 +-
arch/x86/crypto/sha256-ssse3-asm.S | 4 +-
arch/x86/crypto/sha256_ni_asm.S | 4 +-
arch/x86/crypto/sha512-avx-asm.S | 4 +-
arch/x86/crypto/sha512-avx2-asm.S | 4 +-
arch/x86/crypto/sha512-ssse3-asm.S | 4 +-
arch/x86/crypto/twofish-avx-x86_64-asm_64.S | 32 ++--
arch/x86/crypto/twofish-i586-asm_32.S | 8 +-
arch/x86/crypto/twofish-x86_64-asm_64-3way.S | 8 +-
arch/x86/crypto/twofish-x86_64-asm_64.S | 8 +-
arch/x86/entry/entry_32.S | 162 ++++++++---------
arch/x86/entry/entry_64.S | 112 ++++++------
arch/x86/entry/entry_64_compat.S | 16 +-
arch/x86/entry/thunk_32.S | 4 +-
arch/x86/entry/thunk_64.S | 7 +-
arch/x86/entry/vdso/Makefile | 2 -
arch/x86/entry/vdso/vdso32/system_call.S | 2 +-
arch/x86/include/asm/linkage.h | 4 -
arch/x86/include/asm/processor.h | 2 +-
arch/x86/include/asm/sections.h | 1 -
arch/x86/kernel/acpi/wakeup_32.S | 9 +-
arch/x86/kernel/acpi/wakeup_64.S | 10 +-
arch/x86/kernel/ftrace_32.S | 23 ++-
arch/x86/kernel/ftrace_64.S | 47 +++--
arch/x86/kernel/head_32.S | 62 +++----
arch/x86/kernel/head_64.S | 113 ++++++------
arch/x86/kernel/irqflags.S | 8 +-
arch/x86/kernel/relocate_kernel_32.S | 13 +-
arch/x86/kernel/relocate_kernel_64.S | 13 +-
arch/x86/kernel/setup.c | 12 +-
arch/x86/kernel/verify_cpu.S | 4 +-
arch/x86/kernel/vmlinux.lds.S | 16 +-
arch/x86/kvm/vmx/vmenter.S | 12 +-
arch/x86/lib/atomic64_386_32.S | 4 +-
arch/x86/lib/atomic64_cx8_32.S | 32 ++--
arch/x86/lib/checksum_32.S | 16 +-
arch/x86/lib/clear_page_64.S | 12 +-
arch/x86/lib/cmpxchg16b_emu.S | 4 +-
arch/x86/lib/cmpxchg8b_emu.S | 4 +-
arch/x86/lib/copy_page_64.S | 8 +-
arch/x86/lib/copy_user_64.S | 21 ++-
arch/x86/lib/csum-copy_64.S | 4 +-
arch/x86/lib/getuser.S | 22 +--
arch/x86/lib/hweight.S | 8 +-
arch/x86/lib/iomap_copy_64.S | 4 +-
arch/x86/lib/memcpy_64.S | 20 +--
arch/x86/lib/memmove_64.S | 8 +-
arch/x86/lib/memset_64.S | 16 +-
arch/x86/lib/msr-reg.S | 8 +-
arch/x86/lib/putuser.S | 19 +-
arch/x86/lib/retpoline.S | 4 +-
arch/x86/math-emu/div_Xsig.S | 4 +-
arch/x86/math-emu/div_small.S | 4 +-
arch/x86/math-emu/mul_Xsig.S | 12 +-
arch/x86/math-emu/polynom_Xsig.S | 4 +-
arch/x86/math-emu/reg_norm.S | 8 +-
arch/x86/math-emu/reg_round.S | 4 +-
arch/x86/math-emu/reg_u_add.S | 4 +-
arch/x86/math-emu/reg_u_div.S | 4 +-
arch/x86/math-emu/reg_u_mul.S | 4 +-
arch/x86/math-emu/reg_u_sub.S | 4 +-
arch/x86/math-emu/round_Xsig.S | 8 +-
arch/x86/math-emu/shr_Xsig.S | 4 +-
arch/x86/math-emu/wm_shrx.S | 8 +-
arch/x86/math-emu/wm_sqrt.S | 4 +-
arch/x86/mm/init.c | 8 +-
arch/x86/mm/init_64.c | 16 +-
arch/x86/mm/mem_encrypt_boot.S | 8 +-
arch/x86/mm/pti.c | 2 +-
arch/x86/platform/efi/efi_stub_32.S | 4 +-
arch/x86/platform/efi/efi_stub_64.S | 4 +-
arch/x86/platform/efi/efi_thunk_64.S | 16 +-
arch/x86/platform/olpc/xo1-wakeup.S | 3 +-
arch/x86/platform/pvh/head.S | 18 +-
arch/x86/power/hibernate_asm_32.S | 14 +-
arch/x86/power/hibernate_asm_64.S | 14 +-
arch/x86/purgatory/entry64.S | 24 +--
arch/x86/purgatory/setup-x86_64.S | 14 +-
arch/x86/purgatory/stack.S | 7 +-
arch/x86/realmode/rm/header.S | 8 +-
arch/x86/realmode/rm/reboot.S | 13 +-
arch/x86/realmode/rm/stack.S | 14 +-
arch/x86/realmode/rm/trampoline_32.S | 16 +-
arch/x86/realmode/rm/trampoline_64.S | 29 ++--
arch/x86/realmode/rm/trampoline_common.S | 2 +-
arch/x86/realmode/rm/wakeup_asm.S | 17 +-
arch/x86/realmode/rmpiggy.S | 10 +-
arch/x86/um/vdso/vdso.S | 6 +-
arch/x86/xen/xen-asm.S | 28 +--
arch/x86/xen/xen-asm_32.S | 7 +-
arch/x86/xen/xen-asm_64.S | 34 ++--
arch/x86/xen/xen-head.S | 8 +-
arch/xtensa/kernel/vmlinux.lds.S | 8 +-
include/asm-generic/vmlinux.lds.h | 53 ++++--
include/linux/linkage.h | 249 ++++++++++++++++++++++++++-
lib/ubsan.c | 5 +-
tools/objtool/check.c | 1 +
164 files changed, 1654 insertions(+), 1186 deletions(-)
create mode 100644 Documentation/asm-annotations.rst
next reply other threads:[~2019-11-25 16:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-25 16:08 Ingo Molnar [this message]
2019-11-25 17:39 ` [GIT PULL] x86/asm changes for v5.5 Borislav Petkov
2019-11-26 9:33 ` Ingo Molnar
2019-11-26 19:30 ` pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191125160821.GA42496@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.