diff for duplicates of <20200131061258.jzFOFzIrl%akpm@linux-foundation.org>
diff --git a/a/1.txt b/N1/1.txt
index b212937..58250d6 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -72,4 +72,19 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
- set_page_dirty(pages[i]);
- put_page(pages[i]);
- }
--}
\ No newline at end of file
+-}
+-
+ /* Populate the call parameters, merging adjacent pages together */
+ static void populate_rw_params(struct page **pages,
+ int pages_count,
+@@ -372,7 +360,8 @@ static int transfer_max_buffers(struct g
+
+ *consumed_size = pipe->command_buffer->rw_params.consumed_size;
+
+- release_user_pages(pipe->pages, pages_count, is_write, *consumed_size);
++ put_user_pages_dirty_lock(pipe->pages, pages_count,
++ !is_write && *consumed_size > 0);
+
+ mutex_unlock(&pipe->lock);
+ return 0;
+_
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index f989579..efbcde2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -116,7 +116,22 @@
"-\t\t\tset_page_dirty(pages[i]);\n",
"-\t\tput_page(pages[i]);\n",
"-\t}\n",
- "-}"
+ "-}\n",
+ "-\n",
+ " /* Populate the call parameters, merging adjacent pages together */\n",
+ " static void populate_rw_params(struct page **pages,\n",
+ " \t\t\t int pages_count,\n",
+ "\@\@ -372,7 +360,8 \@\@ static int transfer_max_buffers(struct g\n",
+ " \n",
+ " \t*consumed_size = pipe->command_buffer->rw_params.consumed_size;\n",
+ " \n",
+ "-\trelease_user_pages(pipe->pages, pages_count, is_write, *consumed_size);\n",
+ "+\tput_user_pages_dirty_lock(pipe->pages, pages_count,\n",
+ "+\t\t\t\t !is_write && *consumed_size > 0);\n",
+ " \n",
+ " \tmutex_unlock(&pipe->lock);\n",
+ " \treturn 0;\n",
+ "_"
]
-59d6dff7c47527fecdbc1b9770a0d974a5c8788067edb9d11de7873376538b51
+bb0a0b2783ed142a0bb8e2ea694ba10db42f056c99105001a3dae59c3c1d9e07
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.