All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.