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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20160314130320.GA20607@gmail.com>
Date:	Mon, 14 Mar 2016 14:03:20 +0100
From:	Ingo Molnar <mingo@...nel.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
	Borislav Petkov <bp@...en8.de>,
	Andy Lutomirski <luto@...nel.org>,
	"H. Peter Anvin" <hpa@...or.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] x86/asm changes for v4.6

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: d05004944206cbbf1c453e179768163731c7c6f1 x86/cpufeature: Enable new AVX-512 features

This is another big update. Main changes are:

 - lots of x86 system call (and other traps/exceptions) entry code enhancements.
   In particular the complex parts of the 64-bit entry code have been
   migrated to C code as well, and a number of dusty corners have been refreshed.
   (Andy Lutomirski)

 - vDSO special mapping robustification and general cleanups (Andy Lutomirski)

 - cpufeature refactoring, cleanups and speedups (Borislav Petkov)

 - lots of other changes ...

  out-of-topic modifications in x86-asm-for-linus:
  --------------------------------------------------
  drivers/cpufreq/intel_pstate.c     # bc696ca05f5a: x86/cpufeature: Replace the 
  fs/btrfs/disk-io.c                 # bc696ca05f5a: x86/cpufeature: Replace the 
  include/linux/mm.h                 # 1745cbc5d0de: mm: Add vm_insert_pfn_prot()
  include/linux/mm_types.h           # f872f5400cc0: mm: Add a vm_special_mapping
  kernel/events/uprobes.c            # 869ae76147ff: uprobes: __create_xol_area()
  lib/atomic64_test.c                # cd4d09ec6f6c: x86/cpufeature: Carve out X8
  mm/memory.c                        # 1745cbc5d0de: mm: Add vm_insert_pfn_prot()
  mm/mmap.c                          # f872f5400cc0: mm: Add a vm_special_mapping
  tools/testing/selftests/x86/Makefile# 6c25da5ad55d: x86/signal/64: Re-add suppor
                                   # e21d50f3864e: selftests/x86: Add check_ini
                                   # c31b34255b48: selftests/x86: Extend Makefi
  tools/testing/selftests/x86/check_initial_reg_state.c# e21d50f3864e: selftests/x86: Add check_ini
  tools/testing/selftests/x86/ptrace_syscall.c# 403613432222: selftests/x86: Add a test fo
                                   # adcfd23ead69: selftests/x86: Fix some erro
  tools/testing/selftests/x86/sigreturn.c# 4f6c89382293: selftests/x86: Add tests for
  tools/testing/selftests/x86/syscall_nt.c# a318beea224d: selftests/x86: In syscall_nt



 Thanks,

	Ingo

------------------>
Alexander Kuleshov (3):
      x86/asm/entry: Remove unused SAVE_ALL/RESTORE_ALL macros for !CONFIG_x86_64
      x86/asm: Remove unused L3_PAGE_OFFSET
      x86/entry/traps: Refactor preemption and interrupt flag handling

Andy Lutomirski (42):
      mm: Add a vm_special_mapping.fault() method
      mm: Add vm_insert_pfn_prot()
      x86/vdso: Track each mm's loaded vDSO image as well as its base
      x86/vdso: Use .fault for the vDSO text mapping
      x86/vdso: Use ->fault() instead of remap_pfn_range() for the vvar mapping
      x86/vdso: Disallow vvar access to vclock IO for never-used vclocks
      selftests/x86: Extend Makefile to allow 64-bit-only tests
      selftests/x86: Add check_initial_reg_state()
      x86/syscalls: Refactor syscalltbl.sh
      x86/syscalls: Remove __SYSCALL_COMMON and __SYSCALL_X32
      x86/syscalls: Move compat syscall entry handling into syscalltbl.sh
      x86/syscalls: Add syscall entry qualifiers
      x86/entry/64: Always run ptregs-using syscalls on the slow path
      x86/entry/64: Call all native slow-path syscalls with full pt-regs
      x86/entry/64: Stop using int_ret_from_sys_call in ret_from_fork
      x86/entry/64: Migrate the 64-bit syscall slow path to C
      x86/entry/64: Fix an IRQ state error on ptregs-using syscalls
      x86/entry/64: Fix fast-path syscall return register state
      x86/syscalls/64: Mark sys_iopl() as using ptregs
      x86/signal/64: Add a comment about sigcontext->fs and gs
      x86/signal/64: Fix SS if needed when delivering a 64-bit signal
      x86/signal/64: Re-add support for SS in the 64-bit signal context
      selftests/x86: Add tests for UC_SIGCONTEXT_SS and UC_STRICT_RESTORE_SS
      selftests/x86: Fix some error messages in ptrace_syscall
      selftests/x86: Add a test for syscall restart under ptrace
      x86/entry/compat: Keep TS_COMPAT set during signal delivery
      x86/entry/32: Introduce and use X86_BUG_ESPFIX instead of paravirt_enabled
      x86/asm-offsets: Remove PARAVIRT_enabled
      selftests/x86: In syscall_nt, test NT|TF as well
      x86/entry/compat: In SYSENTER, sink AC clearing below the existing FLAGS test
      x86/entry/32: Filter NT and speed up AC filtering in SYSENTER
      x86/entry/32: Restore FLAGS on SYSEXIT
      x86/entry/traps: Clear TIF_BLOCKSTEP on all debug exceptions
      x86/entry/traps: Clear DR6 early in do_debug() and improve the comment
      x86/entry: Vastly simplify SYSENTER TF (single-step) handling
      x86/entry: Only allocate space for tss_struct::SYSENTER_stack if needed
      x86/entry/32: Simplify and fix up the SYSENTER stack #DB/NMI fixup
      x86/entry/32: Add and check a stack canary for the SYSENTER stack
      x86/entry: Remove TIF_SINGLESTEP entry work
      x86/entry: Improve system call entry comments
      x86/entry/32: Change INT80 to be an interrupt gate
      x86/entry: Call enter_from_user_mode() with IRQs off

Borislav Petkov (9):
      x86/cpufeature: Add AMD AVIC bit
      x86/cpufeature: Carve out X86_FEATURE_*
      x86/cpufeature: Replace the old static_cpu_has() with safe variant
      x86/cpufeature: Get rid of the non-asm goto variant
      x86/alternatives: Add an auxilary section
      x86/vdso: Use static_cpu_has()
      x86/cpufeature: Speed up cpu_feature_enabled()
      x86/ftrace, x86/asm: Kill ftrace_caller_end label
      x86/msr: Document msr-index.h rule for addition

Brian Gerst (1):
      x86/alternatives: Discard dynamic check after init

Denys Vlasenko (1):
      x86/asm/bitops: Force inlining of test_and_set_bit and friends

Dmitry V. Levin (1):
      x86/signal: Cleanup get_nr_restart_syscall()

Fenghua Yu (1):
      x86/cpufeature: Enable new AVX-512 features

Ingo Molnar (5):
      Merge tag 'v4.5-rc1' into x86/asm, to refresh the branch before merging new changes
      Merge branch 'x86/cpu' into x86/asm, to avoid conflict
      Merge branch 'x86/urgent' into x86/asm, to pick up fixes
      Merge tag 'v4.5-rc7' into x86/asm, to pick up SMAP fix
      Merge branch 'x86-asm-for-linus' into tmp.tmp

Jianyu Zhan (1):
      x86/entry/traps: Show unhandled signal for i386 in do_trap()

Josh Poimboeuf (2):
      x86/asm: Clean up frame pointer macros
      x86/asm: Add C versions of frame pointer macros

Matthew Wilcox (1):
      x86/mm: Honour passed pgprot in track_pfn_insert() and track_pfn_remap()

Oleg Nesterov (1):
      uprobes: __create_xol_area() must nullify xol_mapping.fault

Tony Luck (1):
      x86/cpufeature: Create a new synthetic cpu capability for machine check recovery

==========
 Documentation/kernel-parameters.txt                   |   2 +-
 Documentation/x86/x86_64/boot-options.txt             |   2 +
 arch/x86/Kconfig.debug                                |  10 ---
 arch/x86/boot/cpuflags.h                              |   2 +-
 arch/x86/boot/mkcpustr.c                              |   2 +-
 arch/x86/crypto/crc32-pclmul_glue.c                   |   2 +-
 arch/x86/crypto/crc32c-intel_glue.c                   |   2 +-
 arch/x86/crypto/crct10dif-pclmul_glue.c               |   2 +-
 arch/x86/entry/calling.h                              |  31 ---------
 arch/x86/entry/common.c                               | 106 ++++++++++++++---------------
 arch/x86/entry/entry_32.S                             | 268 +++++++++++++++++++++++++++++++++++++++++++++++-------------------------
 arch/x86/entry/entry_64.S                             | 286 ++++++++++++++++++++++++++++++----------------------------------------------
 arch/x86/entry/entry_64_compat.S                      | 102 +++++++++++++++++++---------
 arch/x86/entry/syscall_32.c                           |  10 +--
 arch/x86/entry/syscall_64.c                           |  13 ++--
 arch/x86/entry/syscalls/syscall_64.tbl                |  20 +++---
 arch/x86/entry/syscalls/syscalltbl.sh                 |  58 ++++++++++++++--
 arch/x86/entry/vdso/vdso2c.h                          |   7 --
 arch/x86/entry/vdso/vdso32-setup.c                    |   1 -
 arch/x86/entry/vdso/vdso32/system_call.S              |   2 +-
 arch/x86/entry/vdso/vma.c                             | 127 +++++++++++++++++++++-------------
 arch/x86/entry/vsyscall/vsyscall_gtod.c               |   9 ++-
 arch/x86/include/asm/alternative.h                    |   6 --
 arch/x86/include/asm/apic.h                           |   1 -
 arch/x86/include/asm/arch_hweight.h                   |   2 +
 arch/x86/include/asm/bitops.h                         |  36 +++++-----
 arch/x86/include/asm/clocksource.h                    |   9 +--
 arch/x86/include/asm/cmpxchg.h                        |   1 +
 arch/x86/include/asm/cpufeature.h                     | 448 +++++++-----------------------------------------------------------------------------------------------------------------
 arch/x86/include/asm/cpufeatures.h                    | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/x86/include/asm/desc_defs.h                      |  23 +++++++
 arch/x86/include/asm/fpu/internal.h                   |  15 ++--
 arch/x86/include/asm/frame.h                          |  59 ++++++++++------
 arch/x86/include/asm/irq_work.h                       |   2 +-
 arch/x86/include/asm/mce.h                            |   1 +
 arch/x86/include/asm/mmu.h                            |   3 +-
 arch/x86/include/asm/msr-index.h                      |   7 +-
 arch/x86/include/asm/mwait.h                          |   2 +
 arch/x86/include/asm/processor.h                      |   8 ++-
 arch/x86/include/asm/proto.h                          |  15 +++-
 arch/x86/include/asm/sighandling.h                    |   1 -
 arch/x86/include/asm/smap.h                           |   2 +-
 arch/x86/include/asm/smp.h                            |   1 -
 arch/x86/include/asm/thread_info.h                    |   9 ++-
 arch/x86/include/asm/tlbflush.h                       |   1 +
 arch/x86/include/asm/uaccess_64.h                     |   2 +-
 arch/x86/include/asm/vdso.h                           |   3 -
 arch/x86/include/asm/vgtod.h                          |   6 ++
 arch/x86/include/uapi/asm/sigcontext.h                |  32 ++++++++-
 arch/x86/include/uapi/asm/ucontext.h                  |  53 +++++++++++++--
 arch/x86/kernel/apic/apic_numachip.c                  |   4 +-
 arch/x86/kernel/asm-offsets.c                         |   1 -
 arch/x86/kernel/asm-offsets_32.c                      |   7 +-
 arch/x86/kernel/asm-offsets_64.c                      |  10 +--
 arch/x86/kernel/cpu/Makefile                          |   2 +-
 arch/x86/kernel/cpu/centaur.c                         |   2 +-
 arch/x86/kernel/cpu/common.c                          |  39 +++++++----
 arch/x86/kernel/cpu/cyrix.c                           |   1 +
 arch/x86/kernel/cpu/intel.c                           |   2 +-
 arch/x86/kernel/cpu/intel_cacheinfo.c                 |   2 +-
 arch/x86/kernel/cpu/match.c                           |   2 +-
 arch/x86/kernel/cpu/mcheck/mce.c                      |  13 ++++
 arch/x86/kernel/cpu/mkcapflags.sh                     |   6 +-
 arch/x86/kernel/cpu/mtrr/main.c                       |   2 +-
 arch/x86/kernel/cpu/transmeta.c                       |   2 +-
 arch/x86/kernel/e820.c                                |   1 +
 arch/x86/kernel/fpu/xstate.c                          |   3 +
 arch/x86/kernel/ftrace.c                              |  11 ++-
 arch/x86/kernel/head_32.S                             |   2 +-
 arch/x86/kernel/head_64.S                             |   1 -
 arch/x86/kernel/hpet.c                                |   1 +
 arch/x86/kernel/mcount_64.S                           |  14 ++--
 arch/x86/kernel/msr.c                                 |   2 +-
 arch/x86/kernel/process.c                             |   3 +
 arch/x86/kernel/signal.c                              | 127 +++++++++++++++++++++++++++-------
 arch/x86/kernel/traps.c                               | 138 ++++++++++++++++++++++++-------------
 arch/x86/kernel/verify_cpu.S                          |   2 +-
 arch/x86/kernel/vm86_32.c                             |   2 +-
 arch/x86/kernel/vmlinux.lds.S                         |  11 +++
 arch/x86/lib/clear_page_64.S                          |   2 +-
 arch/x86/lib/copy_page_64.S                           |   2 +-
 arch/x86/lib/copy_user_64.S                           |   2 +-
 arch/x86/lib/memcpy_64.S                              |   2 +-
 arch/x86/lib/memmove_64.S                             |   2 +-
 arch/x86/lib/memset_64.S                              |   2 +-
 arch/x86/mm/pat.c                                     |   4 +-
 arch/x86/mm/setup_nx.c                                |   1 +
 arch/x86/oprofile/op_model_amd.c                      |   1 -
 arch/x86/um/asm/barrier.h                             |   2 +-
 arch/x86/um/sys_call_table_32.c                       |   4 +-
 arch/x86/um/sys_call_table_64.c                       |   7 +-
 arch/x86/um/user-offsets.c                            |   6 +-
 drivers/cpufreq/intel_pstate.c                        |   2 +-
 fs/btrfs/disk-io.c                                    |   2 +-
 include/linux/mm.h                                    |   2 +
 include/linux/mm_types.h                              |  22 +++++-
 kernel/events/uprobes.c                               |   1 +
 lib/atomic64_test.c                                   |   2 +-
 mm/memory.c                                           |  25 ++++++-
 mm/mmap.c                                             |  13 ++--
 tools/testing/selftests/x86/Makefile                  |  17 +++--
 tools/testing/selftests/x86/check_initial_reg_state.c | 109 +++++++++++++++++++++++++++++
 tools/testing/selftests/x86/ptrace_syscall.c          | 132 +++++++++++++++++++++++++++++++++++-
 tools/testing/selftests/x86/sigreturn.c               | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------
 tools/testing/selftests/x86/syscall_nt.c              |  57 +++++++++++++---
 105 files changed, 1977 insertions(+), 1199 deletions(-)
 create mode 100644 arch/x86/include/asm/cpufeatures.h
 create mode 100644 tools/testing/selftests/x86/check_initial_reg_state.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ