linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] x86/mm changes for v4.12
@ 2017-05-01 12:00 Ingo Molnar
  2017-05-23 14:24 ` Kirill A. Shutemov
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2017-05-01 12:00 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Thomas Gleixner, H. Peter Anvin, Peter Zijlstra,
	Andy Lutomirski, Borislav Petkov, Andrew Morton

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(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] x86/mm changes for v4.12
  2017-05-01 12:00 [GIT PULL] x86/mm changes for v4.12 Ingo Molnar
@ 2017-05-23 14:24 ` Kirill A. Shutemov
  2017-05-24  6:25   ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Kirill A. Shutemov @ 2017-05-23 14:24 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Thomas Gleixner, H. Peter Anvin,
	Peter Zijlstra, Andy Lutomirski, Borislav Petkov, Andrew Morton

On Mon, May 01, 2017 at 02:00:53PM +0200, Ingo Molnar wrote:
>  - Continued Intel 5-level paging enablement: in particular the conversion 
>    of x86 GUP to the generic GUP code. (Kirill A. Shutemov)
> 
...
> 
> 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.

I've just noticied that the x86 GUP conversion haven't made it's way to
v4.12: the fix got applied (71389703839e), but the final commit that does
convertion keeped reverted -- 6dd29b3df975.

I guess it's too late for v4.12...

Ingo could you re-apply 2947ba054a4d ("x86/mm/gup: Switch GUP to the
generic get_user_page_fast() implementation") to be queued to v4.13?

-- 
 Kirill A. Shutemov

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] x86/mm changes for v4.12
  2017-05-23 14:24 ` Kirill A. Shutemov
@ 2017-05-24  6:25   ` Ingo Molnar
  2017-05-24  8:17     ` Kirill A. Shutemov
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2017-05-24  6:25 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Linus Torvalds, linux-kernel, Thomas Gleixner, H. Peter Anvin,
	Peter Zijlstra, Andy Lutomirski, Borislav Petkov, Andrew Morton


* Kirill A. Shutemov <kirill@shutemov.name> wrote:

> On Mon, May 01, 2017 at 02:00:53PM +0200, Ingo Molnar wrote:
> >  - Continued Intel 5-level paging enablement: in particular the conversion 
> >    of x86 GUP to the generic GUP code. (Kirill A. Shutemov)
> > 
> ...
> > 
> > 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.
> 
> I've just noticied that the x86 GUP conversion haven't made it's way to
> v4.12: the fix got applied (71389703839e), but the final commit that does
> convertion keeped reverted -- 6dd29b3df975.
> 
> I guess it's too late for v4.12...
> 
> Ingo could you re-apply 2947ba054a4d ("x86/mm/gup: Switch GUP to the
> generic get_user_page_fast() implementation") to be queued to v4.13?

There were some late problems and I wanted x86/mm to be regression-free - we don't 
have all the 5-level paging patches applied yet so the exact cut we made at v4.12 
does not matter much - v4.13 is going to be the real deal.

Could you please make the re-application part of the remaining 5-level paging 
patches?

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PULL] x86/mm changes for v4.12
  2017-05-24  6:25   ` Ingo Molnar
@ 2017-05-24  8:17     ` Kirill A. Shutemov
  0 siblings, 0 replies; 4+ messages in thread
From: Kirill A. Shutemov @ 2017-05-24  8:17 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Thomas Gleixner, H. Peter Anvin,
	Peter Zijlstra, Andy Lutomirski, Borislav Petkov, Andrew Morton

On Wed, May 24, 2017 at 08:25:26AM +0200, Ingo Molnar wrote:
> 
> * Kirill A. Shutemov <kirill@shutemov.name> wrote:
> 
> > On Mon, May 01, 2017 at 02:00:53PM +0200, Ingo Molnar wrote:
> > >  - Continued Intel 5-level paging enablement: in particular the conversion 
> > >    of x86 GUP to the generic GUP code. (Kirill A. Shutemov)
> > > 
> > ...
> > > 
> > > 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.
> > 
> > I've just noticied that the x86 GUP conversion haven't made it's way to
> > v4.12: the fix got applied (71389703839e), but the final commit that does
> > convertion keeped reverted -- 6dd29b3df975.
> > 
> > I guess it's too late for v4.12...
> > 
> > Ingo could you re-apply 2947ba054a4d ("x86/mm/gup: Switch GUP to the
> > generic get_user_page_fast() implementation") to be queued to v4.13?
> 
> There were some late problems and I wanted x86/mm to be regression-free - we don't 
> have all the 5-level paging patches applied yet so the exact cut we made at v4.12 
> does not matter much - v4.13 is going to be the real deal.
> 
> Could you please make the re-application part of the remaining 5-level paging 
> patches?

Sure. Will post later today.

-- 
 Kirill A. Shutemov

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-05-24  8:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-01 12:00 [GIT PULL] x86/mm changes for v4.12 Ingo Molnar
2017-05-23 14:24 ` Kirill A. Shutemov
2017-05-24  6:25   ` Ingo Molnar
2017-05-24  8:17     ` Kirill A. Shutemov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).