userfaultfd.c (f81483aaeb59da530b286fe5d081e1705eb5c886) userfaultfd.c (9a10064f5625d5572c3626c1516e0bebc6c9fe9b)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * fs/userfaultfd.c
4 *
5 * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
6 * Copyright (C) 2008-2009 Red Hat, Inc.
7 * Copyright (C) 2015 Red Hat, Inc.
8 *

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

872 prev = vma;
873 continue;
874 }
875 new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS;
876 prev = vma_merge(mm, prev, vma->vm_start, vma->vm_end,
877 new_flags, vma->anon_vma,
878 vma->vm_file, vma->vm_pgoff,
879 vma_policy(vma),
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * fs/userfaultfd.c
4 *
5 * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
6 * Copyright (C) 2008-2009 Red Hat, Inc.
7 * Copyright (C) 2015 Red Hat, Inc.
8 *

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

872 prev = vma;
873 continue;
874 }
875 new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS;
876 prev = vma_merge(mm, prev, vma->vm_start, vma->vm_end,
877 new_flags, vma->anon_vma,
878 vma->vm_file, vma->vm_pgoff,
879 vma_policy(vma),
880 NULL_VM_UFFD_CTX);
880 NULL_VM_UFFD_CTX, vma_anon_name(vma));
881 if (prev)
882 vma = prev;
883 else
884 prev = vma;
885 vma->vm_flags = new_flags;
886 vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
887 }
888 mmap_write_unlock(mm);

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

1431 if (vma->vm_start > start)
1432 start = vma->vm_start;
1433 vma_end = min(end, vma->vm_end);
1434
1435 new_flags = (vma->vm_flags & ~__VM_UFFD_FLAGS) | vm_flags;
1436 prev = vma_merge(mm, prev, start, vma_end, new_flags,
1437 vma->anon_vma, vma->vm_file, vma->vm_pgoff,
1438 vma_policy(vma),
881 if (prev)
882 vma = prev;
883 else
884 prev = vma;
885 vma->vm_flags = new_flags;
886 vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
887 }
888 mmap_write_unlock(mm);

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

1431 if (vma->vm_start > start)
1432 start = vma->vm_start;
1433 vma_end = min(end, vma->vm_end);
1434
1435 new_flags = (vma->vm_flags & ~__VM_UFFD_FLAGS) | vm_flags;
1436 prev = vma_merge(mm, prev, start, vma_end, new_flags,
1437 vma->anon_vma, vma->vm_file, vma->vm_pgoff,
1438 vma_policy(vma),
1439 ((struct vm_userfaultfd_ctx){ ctx }));
1439 ((struct vm_userfaultfd_ctx){ ctx }),
1440 vma_anon_name(vma));
1440 if (prev) {
1441 vma = prev;
1442 goto next;
1443 }
1444 if (vma->vm_start < start) {
1445 ret = split_vma(mm, vma, start, 1);
1446 if (ret)
1447 break;

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

1608 range.len = vma_end - start;
1609 wake_userfault(vma->vm_userfaultfd_ctx.ctx, &range);
1610 }
1611
1612 new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS;
1613 prev = vma_merge(mm, prev, start, vma_end, new_flags,
1614 vma->anon_vma, vma->vm_file, vma->vm_pgoff,
1615 vma_policy(vma),
1441 if (prev) {
1442 vma = prev;
1443 goto next;
1444 }
1445 if (vma->vm_start < start) {
1446 ret = split_vma(mm, vma, start, 1);
1447 if (ret)
1448 break;

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

1609 range.len = vma_end - start;
1610 wake_userfault(vma->vm_userfaultfd_ctx.ctx, &range);
1611 }
1612
1613 new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS;
1614 prev = vma_merge(mm, prev, start, vma_end, new_flags,
1615 vma->anon_vma, vma->vm_file, vma->vm_pgoff,
1616 vma_policy(vma),
1616 NULL_VM_UFFD_CTX);
1617 NULL_VM_UFFD_CTX, vma_anon_name(vma));
1617 if (prev) {
1618 vma = prev;
1619 goto next;
1620 }
1621 if (vma->vm_start < start) {
1622 ret = split_vma(mm, vma, start, 1);
1623 if (ret)
1624 break;

--- 493 unchanged lines hidden ---
1618 if (prev) {
1619 vma = prev;
1620 goto next;
1621 }
1622 if (vma->vm_start < start) {
1623 ret = split_vma(mm, vma, start, 1);
1624 if (ret)
1625 break;

--- 493 unchanged lines hidden ---