mprotect.c (c9fe66560bf2dc7d109754414e309888cb8c9ba9) mprotect.c (5c041f5d1f23d3a172dd0db3215634c484b4acd6)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * mm/mprotect.c
4 *
5 * (C) Copyright 1994 Linus Torvalds
6 * (C) Copyright 2002 Christoph Hellwig
7 *
8 * Address space accounting code <alan@lxorguk.ukuu.org.uk>

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

188 } else if (is_writable_device_exclusive_entry(entry)) {
189 entry = make_readable_device_exclusive_entry(
190 swp_offset(entry));
191 newpte = swp_entry_to_pte(entry);
192 if (pte_swp_soft_dirty(oldpte))
193 newpte = pte_swp_mksoft_dirty(newpte);
194 if (pte_swp_uffd_wp(oldpte))
195 newpte = pte_swp_mkuffd_wp(newpte);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * mm/mprotect.c
4 *
5 * (C) Copyright 1994 Linus Torvalds
6 * (C) Copyright 2002 Christoph Hellwig
7 *
8 * Address space accounting code <alan@lxorguk.ukuu.org.uk>

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

188 } else if (is_writable_device_exclusive_entry(entry)) {
189 entry = make_readable_device_exclusive_entry(
190 swp_offset(entry));
191 newpte = swp_entry_to_pte(entry);
192 if (pte_swp_soft_dirty(oldpte))
193 newpte = pte_swp_mksoft_dirty(newpte);
194 if (pte_swp_uffd_wp(oldpte))
195 newpte = pte_swp_mkuffd_wp(newpte);
196 } else if (is_pte_marker_entry(entry)) {
197 /* Skip it, the same as none pte */
198 continue;
196 } else {
197 newpte = oldpte;
198 }
199
200 if (uffd_wp)
201 newpte = pte_swp_mkuffd_wp(newpte);
202 else if (uffd_wp_resolve)
203 newpte = pte_swp_clear_uffd_wp(newpte);

--- 542 unchanged lines hidden ---
199 } else {
200 newpte = oldpte;
201 }
202
203 if (uffd_wp)
204 newpte = pte_swp_mkuffd_wp(newpte);
205 else if (uffd_wp_resolve)
206 newpte = pte_swp_clear_uffd_wp(newpte);

--- 542 unchanged lines hidden ---