Andrea Arcangeli
230c92a879
userfaultfd: propagate the full address in THP faults
...
The THP faults were not propagating the original fault address. The
latest version of the API with uffd.arg.pagefault.address is supposed to
propagate the full address through THP faults.
This was not a kernel crashing bug and it wouldn't risk to corrupt user
memory, but it would cause a SIGBUS failure because the wrong page was
being copied.
For various reasons this wasn't easily reproducible in the qemu workload,
but the strestest exposed the problem immediately.
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-09-04 16:54:41 -07:00
..
kasan
x86/kasan, mm: Introduce generic kasan_populate_zero_shadow()
2015-08-22 14:54:55 +02:00
backing-dev.c
writeback: don't drain bdi_writeback_congested on bdi destruction
2015-07-02 08:46:00 -06:00
balloon_compaction.c
bootmem.c
mm: page_alloc: pass PFN to __free_pages_bootmem
2015-06-30 19:44:55 -07:00
cleancache.c
cma.c
mm/memblock: add extra "flags" to memblock to allow selection of memory based on attribute
2015-06-24 17:49:44 -07:00
cma.h
mm: cma: mark cma_bitmap_maxno() inline in header
2015-08-14 15:56:32 -07:00
cma_debug.c
mm/cma_debug: correct size input to bitmap function
2015-07-17 16:39:54 -07:00
compaction.c
debug-pagealloc.c
debug.c
dmapool.c
early_ioremap.c
fadvise.c
failslab.c
filemap.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-07-04 19:36:06 -07:00
frontswap.c
frontswap: allow multiple backends
2015-06-24 17:49:45 -07:00
gup.c
highmem.c
huge_memory.c
userfaultfd: propagate the full address in THP faults
2015-09-04 16:54:41 -07:00
hugetlb.c
mm/hugetlb: remove unused arch hook prepare/release_hugepage
2015-06-25 17:00:35 -07:00
hugetlb_cgroup.c
hwpoison-inject.c
mm/memory-failure: introduce get_hwpoison_page() for consistent refcount handling
2015-06-24 17:49:42 -07:00
init-mm.c
internal.h
mm: meminit: finish initialisation of struct pages before basic setup
2015-06-30 19:44:56 -07:00
interval_tree.c
Kconfig
mm/Kconfig: NEED_BOUNCE_POOL: clean-up condition
2015-07-23 20:59:41 +02:00
Kconfig.debug
kmemcheck.c
kmemleak-test.c
kmemleak.c
mm: kmemleak_alloc_percpu() should follow the gfp from per_alloc()
2015-06-24 17:49:46 -07:00
ksm.c
list_lru.c
maccess.c
lib: move strncpy_from_unsafe() into mm/maccess.c
2015-08-31 12:36:10 -07:00
madvise.c
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
Makefile
userfaultfd: mcopy_atomic|mfill_zeropage: UFFDIO_COPY|UFFDIO_ZEROPAGE preparation
2015-09-04 16:54:41 -07:00
memblock.c
mm: page_alloc: pass PFN to __free_pages_bootmem
2015-06-30 19:44:55 -07:00
memcontrol.c
Merge branch 'for-4.2/writeback' of git://git.kernel.dk/linux-block
2015-06-25 16:00:17 -07:00
memory-failure.c
mm/hwpoison: fix panic due to split huge zero page
2015-08-14 15:56:32 -07:00
memory.c
userfaultfd: call handle_userfault() for userfaultfd_missing() faults
2015-09-04 16:54:41 -07:00
memory_hotplug.c
memory-hotplug: add hot-added memory ranges to memblock before allocate node_data for a node.
2015-09-04 16:54:41 -07:00
mempolicy.c
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
mempool.c
memtest.c
mm/memblock: add extra "flags" to memblock to allow selection of memory based on attribute
2015-06-24 17:49:44 -07:00
migrate.c
mm/memory-failure: set PageHWPoison before migrate_pages()
2015-08-07 04:39:42 +03:00
mincore.c
mlock.c
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
mm_init.c
mm: meminit: remove mminit_verify_page_links
2015-06-30 19:44:56 -07:00
mmap.c
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c
userfaultfd: teach vma_merge to merge across vma->vm_userfaultfd_ctx
2015-09-04 16:54:41 -07:00
mremap.c
mm: new arch_remap() hook
2015-06-24 17:49:41 -07:00
msync.c
nobootmem.c
mm: page_alloc: pass PFN to __free_pages_bootmem
2015-06-30 19:44:55 -07:00
nommu.c
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2015-09-01 18:46:42 -07:00
oom_kill.c
mm/oom_kill.c: print points as unsigned int
2015-06-24 17:49:44 -07:00
page-writeback.c
writeback: fix initial dirty limit
2015-08-07 04:39:42 +03:00
page_alloc.c
mm: make page pfmemalloc check more robust
2015-08-21 14:30:10 -07:00
page_counter.c
page_ext.c
page_io.c
fs: use helper bio_add_page() instead of open coding on bi_io_vec
2015-08-13 12:32:00 -06:00
page_isolation.c
page_owner.c
mm/page_owner: set correct gfp_mask on page_owner
2015-07-17 16:39:54 -07:00
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
percpu: clean up of schunk->map[] assignment in pcpu_setup_first_chunk
2015-07-21 11:31:00 -04:00
pgtable-generic.c
mm: clarify that the function operates on hugepage pte
2015-06-24 17:49:44 -07:00
process_vm_access.c
quicklist.c
readahead.c
rmap.c
Merge branch 'for-4.2/writeback' of git://git.kernel.dk/linux-block
2015-06-25 16:00:17 -07:00
shmem.c
ipc: use private shmem or hugetlbfs inodes for shm segments.
2015-08-07 04:39:41 +03:00
slab.c
slab: infrastructure for bulk object allocation and freeing
2015-09-04 16:54:41 -07:00
slab.h
mm/slab.h: fix argument order in cache_from_obj's error message
2015-09-04 16:54:41 -07:00
slab_common.c
slab: infrastructure for bulk object allocation and freeing
2015-09-04 16:54:41 -07:00
slob.c
slab: infrastructure for bulk object allocation and freeing
2015-09-04 16:54:41 -07:00
slub.c
mm/slub: don't wait for high-order page allocation
2015-09-04 16:54:41 -07:00
sparse-vmemmap.c
sparse.c
swap.c
mm: drop bogus VM_BUG_ON_PAGE assert in put_page() codepath
2015-06-24 17:49:42 -07:00
swap_cgroup.c
swap_state.c
swapfile.c
vfs: add seq_file_path() helper
2015-06-23 18:01:07 -04:00
truncate.c
userfaultfd.c
userfaultfd: avoid mmap_sem read recursion in mcopy_atomic
2015-09-04 16:54:41 -07:00
util.c
vmacache.c
vmalloc.c
vmpressure.c
vmscan.c
mm, vmscan: Do not wait for page writeback for GFP_NOFS allocations
2015-08-05 10:49:38 +02:00
vmstat.c
workingset.c
zbud.c
zpool: remove zpool_evict()
2015-06-25 17:00:37 -07:00
zpool.c
zpool: remove zpool_evict()
2015-06-25 17:00:37 -07:00
zsmalloc.c
zpool: remove zpool_evict()
2015-06-25 17:00:37 -07:00
zswap.c
zswap: runtime enable/disable
2015-06-25 17:00:37 -07:00