userfaultfd.c (8cc5fcbb5be814c115085549b700e473685b11e9) userfaultfd.c (3460f6e5c1ed94c2ab7c1ccc032a5bebd88deaa7)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * mm/userfaultfd.c
4 *
5 * Copyright (C) 2015 Red Hat, Inc.
6 */
7
8#include <linux/mm.h>

--- 378 unchanged lines hidden (view full) ---

387 err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
388 dst_addr, src_addr, page,
389 wp_copy);
390 else
391 err = mfill_zeropage_pte(dst_mm, dst_pmd,
392 dst_vma, dst_addr);
393 } else {
394 VM_WARN_ON_ONCE(wp_copy);
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * mm/userfaultfd.c
4 *
5 * Copyright (C) 2015 Red Hat, Inc.
6 */
7
8#include <linux/mm.h>

--- 378 unchanged lines hidden (view full) ---

387 err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
388 dst_addr, src_addr, page,
389 wp_copy);
390 else
391 err = mfill_zeropage_pte(dst_mm, dst_pmd,
392 dst_vma, dst_addr);
393 } else {
394 VM_WARN_ON_ONCE(wp_copy);
395 if (!zeropage)
396 err = shmem_mcopy_atomic_pte(dst_mm, dst_pmd,
397 dst_vma, dst_addr,
398 src_addr, page);
399 else
400 err = shmem_mfill_zeropage_pte(dst_mm, dst_pmd,
401 dst_vma, dst_addr);
395 err = shmem_mfill_atomic_pte(dst_mm, dst_pmd, dst_vma,
396 dst_addr, src_addr, zeropage,
397 page);
402 }
403
404 return err;
405}
406
407static __always_inline ssize_t __mcopy_atomic(struct mm_struct *dst_mm,
408 unsigned long dst_start,
409 unsigned long src_start,

--- 243 unchanged lines hidden ---
398 }
399
400 return err;
401}
402
403static __always_inline ssize_t __mcopy_atomic(struct mm_struct *dst_mm,
404 unsigned long dst_start,
405 unsigned long src_start,

--- 243 unchanged lines hidden ---