summarylogtreecommitdiffstats
path: root/uksm-patch-for-5.4.69+.patch
diff options
context:
space:
mode:
Diffstat (limited to 'uksm-patch-for-5.4.69+.patch')
-rw-r--r--uksm-patch-for-5.4.69+.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/uksm-patch-for-5.4.69+.patch b/uksm-patch-for-5.4.69+.patch
new file mode 100644
index 000000000000..aeb3b2035843
--- /dev/null
+++ b/uksm-patch-for-5.4.69+.patch
@@ -0,0 +1,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)