lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yd8o/hxM/OH3mdQR@zn.tnic>
Date:   Wed, 12 Jan 2022 20:16:14 +0100
From:   Borislav Petkov <bp@...e.de>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     x86-ml <x86@...nel.org>, lkml <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] x86/core for v5.17

Hi Linus,

please pull the x86/core pile for 5.17.

This one got delayed a bit due to a testcase failure. But that has been
taken care of now and the last (newest) patch is the fix.

Thx.

---

The following changes since commit 0fcfb00b28c0b7884635dacf38e46d60bf3d4eb1:

  Linux 5.16-rc4 (2021-12-05 14:08:22 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_core_for_v5.17_rc1

for you to fetch changes up to 9cdbeec4096804083944d05da96bbaf59a1eb4f9:

  x86/entry_32: Fix segment exceptions (2022-01-12 16:38:25 +0100)

----------------------------------------------------------------
- Get rid of all the .fixup sections because this generates
misleading/wrong stacktraces and confuse RELIABLE_STACKTRACE and
LIVEPATCH as the backtrace misses the function which is being fixed up.

- Add Straight Light Speculation mitigation support which uses a new
compiler switch -mharden-sls= which sticks an INT3 after a RET or an
indirect branch in order to block speculation after them. Reportedly,
CPUs do speculate behind such insns.

- The usual set of cleanups and improvements

----------------------------------------------------------------
Eric Dumazet (1):
      x86/csum: Rewrite/optimize csum_partial()

Peter Zijlstra (31):
      x86: Move RETPOLINE*_CFLAGS to arch Makefile
      x86: Use -mindirect-branch-cs-prefix for RETPOLINE builds
      x86/lib/atomic64_386_32: Rename things
      x86: Prepare asm files for straight-line-speculation
      x86: Prepare inline-asm for straight-line-speculation
      objtool: Add straight-line-speculation validation
      x86/alternative: Relax text_poke_bp() constraint
      x86: Add straight-line-speculation mitigation
      bitfield.h: Fix "type of reg too small for mask" test
      x86/mmx_32: Remove X86_USE_3DNOW
      x86/copy_user_64: Remove .fixup usage
      x86/copy_mc_64: Remove .fixup usage
      x86/entry_64: Remove .fixup usage
      x86/entry_32: Remove .fixup usage
      x86/extable: Extend extable functionality
      x86/msr: Remove .fixup usage
      x86/futex: Remove .fixup usage
      x86/uaccess: Remove .fixup usage
      x86/xen: Remove .fixup usage
      x86/fpu: Remove .fixup usage
      x86/segment: Remove .fixup usage
      x86/kvm: Remove .fixup usage
      x86/vmx: Remove .fixup usage
      x86/checksum_32: Remove .fixup usage
      x86/sgx: Remove .fixup usage
      x86/usercopy_32: Simplify __copy_user_intel_nocache()
      x86/usercopy: Remove .fixup usage
      x86/word-at-a-time: Remove .fixup usage
      x86: Remove .fixup section
      objtool: Remove .fixup handling
      x86/entry_32: Fix segment exceptions

 Makefile                                       |  11 -
 arch/x86/Kconfig                               |  14 +-
 arch/x86/Kconfig.cpu                           |   4 -
 arch/x86/Makefile                              |  16 +
 arch/x86/boot/compressed/efi_thunk_64.S        |   2 +-
 arch/x86/boot/compressed/head_64.S             |   8 +-
 arch/x86/boot/compressed/mem_encrypt.S         |   6 +-
 arch/x86/crypto/aegis128-aesni-asm.S           |  48 +--
 arch/x86/crypto/aes_ctrby8_avx-x86_64.S        |   2 +-
 arch/x86/crypto/aesni-intel_asm.S              |  56 ++--
 arch/x86/crypto/aesni-intel_avx-x86_64.S       |  40 +--
 arch/x86/crypto/blake2s-core.S                 |   4 +-
 arch/x86/crypto/blowfish-x86_64-asm_64.S       |  12 +-
 arch/x86/crypto/camellia-aesni-avx-asm_64.S    |  14 +-
 arch/x86/crypto/camellia-aesni-avx2-asm_64.S   |  14 +-
 arch/x86/crypto/camellia-x86_64-asm_64.S       |  12 +-
 arch/x86/crypto/cast5-avx-x86_64-asm_64.S      |  12 +-
 arch/x86/crypto/cast6-avx-x86_64-asm_64.S      |  10 +-
 arch/x86/crypto/chacha-avx2-x86_64.S           |   6 +-
 arch/x86/crypto/chacha-avx512vl-x86_64.S       |   6 +-
 arch/x86/crypto/chacha-ssse3-x86_64.S          |   8 +-
 arch/x86/crypto/crc32-pclmul_asm.S             |   2 +-
 arch/x86/crypto/crc32c-pcl-intel-asm_64.S      |   2 +-
 arch/x86/crypto/crct10dif-pcl-asm_64.S         |   2 +-
 arch/x86/crypto/des3_ede-asm_64.S              |   4 +-
 arch/x86/crypto/ghash-clmulni-intel_asm.S      |   6 +-
 arch/x86/crypto/nh-avx2-x86_64.S               |   2 +-
 arch/x86/crypto/nh-sse2-x86_64.S               |   2 +-
 arch/x86/crypto/serpent-avx-x86_64-asm_64.S    |  10 +-
 arch/x86/crypto/serpent-avx2-asm_64.S          |  10 +-
 arch/x86/crypto/serpent-sse2-i586-asm_32.S     |   6 +-
 arch/x86/crypto/serpent-sse2-x86_64-asm_64.S   |   6 +-
 arch/x86/crypto/sha1_avx2_x86_64_asm.S         |   2 +-
 arch/x86/crypto/sha1_ni_asm.S                  |   2 +-
 arch/x86/crypto/sha1_ssse3_asm.S               |   2 +-
 arch/x86/crypto/sha256-avx-asm.S               |   2 +-
 arch/x86/crypto/sha256-avx2-asm.S              |   2 +-
 arch/x86/crypto/sha256-ssse3-asm.S             |   2 +-
 arch/x86/crypto/sha256_ni_asm.S                |   2 +-
 arch/x86/crypto/sha512-avx-asm.S               |   2 +-
 arch/x86/crypto/sha512-avx2-asm.S              |   2 +-
 arch/x86/crypto/sha512-ssse3-asm.S             |   2 +-
 arch/x86/crypto/sm4-aesni-avx-asm_64.S         |  12 +-
 arch/x86/crypto/sm4-aesni-avx2-asm_64.S        |   8 +-
 arch/x86/crypto/twofish-avx-x86_64-asm_64.S    |  10 +-
 arch/x86/crypto/twofish-i586-asm_32.S          |   4 +-
 arch/x86/crypto/twofish-x86_64-asm_64-3way.S   |   6 +-
 arch/x86/crypto/twofish-x86_64-asm_64.S        |   4 +-
 arch/x86/entry/entry_32.S                      |  37 +--
 arch/x86/entry/entry_64.S                      |  23 +-
 arch/x86/entry/thunk_32.S                      |   2 +-
 arch/x86/entry/thunk_64.S                      |   2 +-
 arch/x86/entry/vdso/vdso-layout.lds.S          |   1 -
 arch/x86/entry/vdso/vdso32/system_call.S       |   2 +-
 arch/x86/entry/vdso/vsgx.S                     |   2 +-
 arch/x86/entry/vsyscall/vsyscall_emu_64.S      |   6 +-
 arch/x86/include/asm/asm.h                     |  37 +++
 arch/x86/include/asm/extable.h                 |   6 +-
 arch/x86/include/asm/extable_fixup_types.h     |  59 +++-
 arch/x86/include/asm/futex.h                   |  28 +-
 arch/x86/include/asm/insn-eval.h               |   2 +
 arch/x86/include/asm/linkage.h                 |  14 +
 arch/x86/include/asm/mmx.h                     |  15 -
 arch/x86/include/asm/msr.h                     |  26 +-
 arch/x86/include/asm/page_32.h                 |  14 -
 arch/x86/include/asm/paravirt.h                |   2 +-
 arch/x86/include/asm/qspinlock_paravirt.h      |   4 +-
 arch/x86/include/asm/required-features.h       |   4 -
 arch/x86/include/asm/segment.h                 |   9 +-
 arch/x86/include/asm/sgx.h                     |  18 ++
 arch/x86/include/asm/static_call.h             |   2 +-
 arch/x86/include/asm/string_32.h               |  33 ---
 arch/x86/include/asm/uaccess.h                 |  39 ++-
 arch/x86/include/asm/word-at-a-time.h          |  66 +++--
 arch/x86/include/asm/xen/page.h                |  14 +-
 arch/x86/kernel/acpi/wakeup_32.S               |   6 +-
 arch/x86/kernel/alternative.c                  |  51 +++-
 arch/x86/kernel/cpu/sgx/encls.h                |  36 +--
 arch/x86/kernel/fpu/legacy.h                   |   6 +-
 arch/x86/kernel/fpu/xstate.h                   |   6 +-
 arch/x86/kernel/ftrace.c                       |   2 +-
 arch/x86/kernel/ftrace_32.S                    |   6 +-
 arch/x86/kernel/ftrace_64.S                    |   8 +-
 arch/x86/kernel/head_32.S                      |   2 +-
 arch/x86/kernel/irqflags.S                     |   2 +-
 arch/x86/kernel/kprobes/core.c                 |   2 +-
 arch/x86/kernel/paravirt.c                     |   4 +-
 arch/x86/kernel/relocate_kernel_32.S           |  10 +-
 arch/x86/kernel/relocate_kernel_64.S           |  10 +-
 arch/x86/kernel/sev_verify_cbit.S              |   2 +-
 arch/x86/kernel/static_call.c                  |   5 +-
 arch/x86/kernel/verify_cpu.S                   |   4 +-
 arch/x86/kernel/vmlinux.lds.S                  |   1 -
 arch/x86/kvm/emulate.c                         |  16 +-
 arch/x86/kvm/svm/vmenter.S                     |   4 +-
 arch/x86/kvm/vmx/vmenter.S                     |  14 +-
 arch/x86/kvm/vmx/vmx_ops.h                     |  16 +-
 arch/x86/lib/Makefile                          |   1 -
 arch/x86/lib/atomic64_386_32.S                 |  86 +++---
 arch/x86/lib/atomic64_cx8_32.S                 |  16 +-
 arch/x86/lib/checksum_32.S                     |  27 +-
 arch/x86/lib/clear_page_64.S                   |   6 +-
 arch/x86/lib/cmpxchg16b_emu.S                  |   4 +-
 arch/x86/lib/cmpxchg8b_emu.S                   |   4 +-
 arch/x86/lib/copy_mc_64.S                      |  18 +-
 arch/x86/lib/copy_page_64.S                    |   4 +-
 arch/x86/lib/copy_user_64.S                    |  42 +--
 arch/x86/lib/csum-copy_64.S                    |   2 +-
 arch/x86/lib/csum-partial_64.c                 | 183 ++++++------
 arch/x86/lib/error-inject.c                    |   3 +-
 arch/x86/lib/getuser.S                         |  22 +-
 arch/x86/lib/hweight.S                         |   6 +-
 arch/x86/lib/insn-eval.c                       |  71 +++--
 arch/x86/lib/iomap_copy_64.S                   |   2 +-
 arch/x86/lib/memcpy_32.c                       |   4 -
 arch/x86/lib/memcpy_64.S                       |  12 +-
 arch/x86/lib/memmove_64.S                      |   4 +-
 arch/x86/lib/memset_64.S                       |   6 +-
 arch/x86/lib/mmx_32.c                          | 388 -------------------------
 arch/x86/lib/msr-reg.S                         |   4 +-
 arch/x86/lib/putuser.S                         |   6 +-
 arch/x86/lib/retpoline.S                       |   4 +-
 arch/x86/lib/usercopy_32.c                     |  67 ++---
 arch/x86/lib/usercopy_64.c                     |   8 +-
 arch/x86/math-emu/div_Xsig.S                   |   2 +-
 arch/x86/math-emu/div_small.S                  |   2 +-
 arch/x86/math-emu/mul_Xsig.S                   |   6 +-
 arch/x86/math-emu/polynom_Xsig.S               |   2 +-
 arch/x86/math-emu/reg_norm.S                   |   6 +-
 arch/x86/math-emu/reg_round.S                  |   2 +-
 arch/x86/math-emu/reg_u_add.S                  |   2 +-
 arch/x86/math-emu/reg_u_div.S                  |   2 +-
 arch/x86/math-emu/reg_u_mul.S                  |   2 +-
 arch/x86/math-emu/reg_u_sub.S                  |   2 +-
 arch/x86/math-emu/round_Xsig.S                 |   4 +-
 arch/x86/math-emu/shr_Xsig.S                   |   8 +-
 arch/x86/math-emu/wm_shrx.S                    |  16 +-
 arch/x86/mm/extable.c                          | 113 +++++--
 arch/x86/mm/mem_encrypt_boot.S                 |   4 +-
 arch/x86/net/bpf_jit_comp.c                    |   2 +-
 arch/x86/platform/efi/efi_stub_32.S            |   2 +-
 arch/x86/platform/efi/efi_stub_64.S            |   2 +-
 arch/x86/platform/efi/efi_thunk_64.S           |   2 +-
 arch/x86/platform/olpc/xo1-wakeup.S            |   6 +-
 arch/x86/power/hibernate_asm_32.S              |   4 +-
 arch/x86/power/hibernate_asm_64.S              |   4 +-
 arch/x86/um/checksum_32.S                      |   4 +-
 arch/x86/um/setjmp_32.S                        |   2 +-
 arch/x86/um/setjmp_64.S                        |   2 +-
 arch/x86/xen/xen-asm.S                         |  12 +-
 arch/x86/xen/xen-head.S                        |   2 +-
 include/linux/bitfield.h                       |  19 +-
 samples/ftrace/ftrace-direct-modify.c          |   4 +-
 samples/ftrace/ftrace-direct-too.c             |   2 +-
 samples/ftrace/ftrace-direct.c                 |   2 +-
 scripts/Makefile.build                         |   3 +-
 scripts/link-vmlinux.sh                        |   3 +
 tools/arch/x86/include/asm/required-features.h |   4 -
 tools/objtool/arch/x86/decode.c                |  13 +-
 tools/objtool/builtin-check.c                  |   3 +-
 tools/objtool/check.c                          |  22 +-
 tools/objtool/include/objtool/arch.h           |   1 +
 tools/objtool/include/objtool/builtin.h        |   2 +-
 163 files changed, 1047 insertions(+), 1349 deletions(-)

-- 
Regards/Gruss,
    Boris.

SUSE Software Solutions Germany GmbH, GF: Ivo Totev, HRB 36809, AG Nürnberg

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ