1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--- uksm-5.4.68.patch 2020-09-12 21:14:21.870005000 +0800
+++ uksm-5.4.69.patch 2020-10-01 23:32:11.559514294 +0800
@@ -1129,18 +1129,14 @@
if (!PageAnon(page)) {
if (pte_dirty(ptent)) {
-@@ -2169,8 +2196,10 @@ static inline void cow_user_page(struct page *dst, struct page *src, unsigned lo
- clear_page(kaddr);
- kunmap_atomic(kaddr);
- flush_dcache_page(dst);
-- } else
-+ } else {
- copy_user_highpage(dst, src, va, vma);
+@@ -2410,6 +2437,7 @@ static inline bool cow_user_page(struct page *dst, struct page *src,
+
+ if (likely(src)) {
+ copy_user_highpage(dst, src, addr, vma);
+ uksm_cow_page(vma, src);
-+ }
- }
+ return true;
+ }
- static gfp_t __get_fault_gfp_mask(struct vm_area_struct *vma)
@@ -2322,6 +2351,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf)
vmf->address);
if (!new_page)
|