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>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170501120053.albxet44zftvribj@gmail.com>
Date:   Mon, 1 May 2017 14:00:53 +0200
From:   Ingo Molnar <mingo@...nel.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
        "H. Peter Anvin" <hpa@...or.com>,
        Peter Zijlstra <a.p.zijlstra@...llo.nl>,
        Andy Lutomirski <luto@...nel.org>,
        Borislav Petkov <bp@...en8.de>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] x86/mm changes for v4.12

Linus,

Please pull the latest x86-mm-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-mm-for-linus

   # HEAD: 71389703839ebe9cb426c72d5f0bd549592e583c mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash

NOTE: due to a very busy cycle within the x86 tree, this tree grew a number of 
dependencies and thus depends on you having pulled the following v4.12 trees:

  x86-process-for-linus
  x86-cpu-for-linus
  x86-boot-for-linus

If you did not pull some of those trees then please disregard this pull request, 
I'll rework it all!

The main x86 MM changes in this cycle were:

 - Continued native kernel PCID support preparation patches to the TLB flushing 
   code (Andy Lutomirski)

 - Various fixes related to 32-bit compat syscall returning address over 4Gb in 
   applications, launched from 64-bit binaries - motivated by C/R frameworks such 
   as Virtuozzo. (Dmitry Safonov)

 - Continued Intel 5-level paging enablement: in particular the conversion 
   of x86 GUP to the generic GUP code. (Kirill A. Shutemov)

 - x86/mpx ABI corner case fixes/enhancements (Joerg Roedel)

 - ... plus misc updates, fixes and cleanups.

I'd like to draw special attention to this late MM commit:

  71389703839e: mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash

... which is a late fix, and which I believe is the right thing to do - but please 
double check.

 Thanks,

	Ingo

------------------>

Andy Lutomirski (12):
      x86/tls: Forcibly set the accessed bit in TLS segments
      selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug
      x86/gdt: Fix setup_fixmap_gdt() to use the correct PA
      x86/efi/32: Fix EFI on systems where the per-cpu GDT is virtually mapped
      x86/boot/32: Defer resyncing initial_page_table until per-cpu is set up
      x86/gdt: Get rid of the get_*_gdt_*_vaddr() helpers
      x86/xen/gdt: Use X86_FEATURE_XENPV instead of globals for the GDT fixup
      x86/boot/32: Rewrite test_wp_bit()
      x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
      x86/mm: Remove flush_tlb() and flush_tlb_current_task()
      x86/mm: Make flush_tlb_mm_range() more predictable
      x86/mm: Fix flush_tlb_page() on Xen

Borislav Petkov (1):
      x86/boot/32: Flip the logic in test_wp_bit()

Colin King (1):
      x86/boot/e820: Remove a redundant self assignment

Dan Williams (1):
      mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash

Dmitry Safonov (6):
      x86/mm: Introduce arch_rnd() to compute 32/64 mmap random base
      x86/mm: Add task_size parameter to mmap_base()
      x86/mm: Introduce mmap_compat_base() for 32-bit mmap()
      x86/mm: Make mmap(MAP_32BIT) work correctly
      x86/hugetlb: Adjust to the new native/compat mmap bases
      x86/mm: Make in_compat_syscall() work during exec

Ingo Molnar (6):
      Merge branch 'linus' into x86/mm, to pick up a bugfix
      Merge branch 'x86/process' into x86/mm, to create new base for further patches
      Merge branch 'x86/cpu' into x86/mm, before applying dependent patch
      Merge tag 'v4.11-rc5' into x86/mm, to refresh the branch
      Merge branch 'x86/boot' into x86/mm, to avoid conflict
      Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation"

Joerg Roedel (2):
      x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space
      x86/mpx, selftests: Only check bounds-vs-shadow when we keep shadow

Juergen Gross (1):
      x86/mm: Fix dump pagetables for 4 levels of page tables

Kirill A. Shutemov (28):
      x86/mm: Extend headers with basic definitions to support 5-level paging
      x86/mm: Convert trivial cases of page table walk to 5-level paging
      x86/mm/gup: Add 5-level paging support
      x86/mm/ident_map: Add 5-level paging support
      x86/mm/vmalloc: Add 5-level paging support
      x86/power: Add 5-level paging support
      mm/gup: Drop the arch_pte_access_permitted() MMU callback
      mm/gup: Move permission checks into helpers
      mm/gup: Move page table entry dereference into helper function
      mm/gup: Mark all pages PageReferenced in generic get_user_pages_fast()
      mm/gup: Implement the dev_pagemap() logic in the generic get_user_pages_fast() function
      mm/gup: Provide callback to check if __GUP_fast() is allowed for the range
      x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation
      x86/kexec: Add 5-level paging support
      x86/efi: Add 5-level paging support
      x86/mm/pat: Add 5-level paging support
      x86/kasan: Prepare clear_pgds() to switch to <asm-generic/pgtable-nop4d.h>
      x86: Convert the rest of the code to support p4d_t
      mm: Fix false-positive VM_BUG_ON() in page_cache_{get,add}_speculative()
      x86/dump_pagetables: Add support for 5-level paging
      x86/boot: Detect 5-level paging support
      x86/asm: Remove __VIRTUAL_MASK_SHIFT==47 assert
      x86/mm: Define virtual memory map for 5-level paging
      x86/paravirt: Add 5-level support to the paravirt code
      x86/mm: Add basic defines/helpers for CONFIG_X86_5LEVEL=y
      x86/kasan: Extend KASAN to support 5-level paging
      x86/espfix: Add support for 5-level paging
      x86/mm/64: Fix crash in remove_pagetable()

Thomas Garnier (5):
      x86/mm: Adapt MODULES_END based on fixmap section size
      x86: Remap GDT tables in the fixmap section
      x86: Make the GDT remapping read-only on 64-bit
      x86/mm: Correct fixmap header usage on adaptable MODULES_END
      x86/headers: Simplify asm/fixmap.h inclusion into asm/pgtable*.h

Thomas Gleixner (1):
      Revert "x86/mm/numa: Remove numa_nodemask_from_meminfo()"

Wei Yang (2):
      x86/mm/numa: Improve alloc_node_data() error path message
      x86/mm/numa: Remove numa_nodemask_from_meminfo()

Xiong Zhang (1):
      x86/xen: Change __xen_pgd_walk() and xen_cleanmfnmap() to support p4d


 Documentation/x86/x86_64/mm.txt             |  36 ++-
 arch/Kconfig                                |   7 +
 arch/powerpc/include/asm/mmu_context.h      |   6 -
 arch/s390/include/asm/mmu_context.h         |   6 -
 arch/um/include/asm/mmu_context.h           |   6 -
 arch/unicore32/include/asm/mmu_context.h    |   6 -
 arch/x86/Kconfig                            |   2 +
 arch/x86/boot/cpucheck.c                    |   9 +
 arch/x86/boot/cpuflags.c                    |  12 +-
 arch/x86/entry/entry_64.S                   |   7 +-
 arch/x86/entry/vdso/vma.c                   |   2 +-
 arch/x86/include/asm/desc.h                 | 147 +++++++---
 arch/x86/include/asm/disabled-features.h    |   8 +-
 arch/x86/include/asm/elf.h                  |  28 +-
 arch/x86/include/asm/fixmap.h               |   4 +
 arch/x86/include/asm/kasan.h                |   9 +-
 arch/x86/include/asm/kexec.h                |   1 +
 arch/x86/include/asm/mmu_context.h          |   4 -
 arch/x86/include/asm/page_64_types.h        |  10 +
 arch/x86/include/asm/paravirt.h             |  54 +++-
 arch/x86/include/asm/paravirt_types.h       |  17 +-
 arch/x86/include/asm/pgalloc.h              |  37 ++-
 arch/x86/include/asm/pgtable-2level_types.h |   1 +
 arch/x86/include/asm/pgtable-3level_types.h |   1 +
 arch/x86/include/asm/pgtable.h              |  84 +++++-
 arch/x86/include/asm/pgtable_32.h           |   1 -
 arch/x86/include/asm/pgtable_64.h           |  23 +-
 arch/x86/include/asm/pgtable_64_types.h     |  32 ++-
 arch/x86/include/asm/pgtable_types.h        |  46 +++-
 arch/x86/include/asm/processor.h            |   6 +-
 arch/x86/include/asm/required-features.h    |   8 +-
 arch/x86/include/asm/sparsemem.h            |   9 +-
 arch/x86/include/asm/stackprotector.h       |   2 +-
 arch/x86/include/asm/tlbflush.h             |   9 -
 arch/x86/include/asm/xen/page.h             |   8 +-
 arch/x86/kernel/acpi/sleep.c                |   2 +-
 arch/x86/kernel/apm_32.c                    |   6 +-
 arch/x86/kernel/cpu/common.c                |  59 ++++-
 arch/x86/kernel/e820.c                      |   1 -
 arch/x86/kernel/espfix_64.c                 |  12 +-
 arch/x86/kernel/machine_kexec_32.c          |   4 +-
 arch/x86/kernel/machine_kexec_64.c          |  14 +-
 arch/x86/kernel/paravirt.c                  |  13 +-
 arch/x86/kernel/process_64.c                |  67 +++--
 arch/x86/kernel/setup.c                     |  15 --
 arch/x86/kernel/setup_percpu.c              |  23 +-
 arch/x86/kernel/smpboot.c                   |   2 +-
 arch/x86/kernel/sys_x86_64.c                |  15 +-
 arch/x86/kernel/tboot.c                     |   6 +-
 arch/x86/kernel/tls.c                       |  11 +-
 arch/x86/kernel/vm86_32.c                   |   8 +-
 arch/x86/kvm/svm.c                          |   4 +-
 arch/x86/kvm/vmx.c                          |  12 +-
 arch/x86/mm/dump_pagetables.c               |  59 ++++-
 arch/x86/mm/fault.c                         |  66 ++++-
 arch/x86/mm/gup.c                           |  33 ++-
 arch/x86/mm/hugetlbpage.c                   |   9 +-
 arch/x86/mm/ident_map.c                     |  51 +++-
 arch/x86/mm/init_32.c                       |  68 ++---
 arch/x86/mm/init_64.c                       | 185 ++++++++++---
 arch/x86/mm/ioremap.c                       |   3 +-
 arch/x86/mm/kasan_init_64.c                 |  33 ++-
 arch/x86/mm/mmap.c                          | 125 ++++++---
 arch/x86/mm/mpx.c                           |  10 +-
 arch/x86/mm/numa.c                          |   4 +-
 arch/x86/mm/pageattr.c                      |  54 +++-
 arch/x86/mm/pgtable.c                       |  36 ++-
 arch/x86/mm/pgtable_32.c                    |   8 +-
 arch/x86/mm/tlb.c                           |  33 +--
 arch/x86/platform/efi/efi_32.c              |   4 +-
 arch/x86/platform/efi/efi_64.c              |  41 ++-
 arch/x86/power/cpu.c                        |   7 +-
 arch/x86/power/hibernate_32.c               |   7 +-
 arch/x86/power/hibernate_64.c               |  47 +++-
 arch/x86/xen/enlighten.c                    |   2 +-
 arch/x86/xen/mmu.c                          | 398 +++++++++++++++++-----------
 arch/x86/xen/mmu.h                          |   1 +
 arch/x86/xen/smp.c                          |   2 +-
 drivers/dax/pmem.c                          |   2 +-
 drivers/lguest/x86/core.c                   |   6 +-
 drivers/nvdimm/pmem.c                       |  13 +-
 drivers/pnp/pnpbios/bioscalls.c             |  10 +-
 include/asm-generic/mm_hooks.h              |   6 -
 include/asm-generic/pgtable.h               |  25 ++
 include/linux/mm.h                          |  18 +-
 include/linux/mm_types.h                    |   5 +
 include/linux/pagemap.h                     |   4 +-
 include/trace/events/xen.h                  |  28 +-
 kernel/memremap.c                           |  22 +-
 mm/gup.c                                    | 148 +++++++++--
 mm/swap.c                                   |  10 +
 tools/testing/selftests/x86/ldt_gdt.c       |  46 ++++
 tools/testing/selftests/x86/mpx-mini-test.c |   5 +-
 93 files changed, 1845 insertions(+), 711 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ