All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bryan Wu <cooloney@kernel.org>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, dwmw2@infradead.org
Cc: Jie Zhang <jie.zhang@analog.com>, Bryan Wu <cooloney@kernel.org>
Subject: [PATCH 3/4] [mm/nommu]: use copy_to_user_page to call flush icache for [#811] toolchain old bug
Date: Mon, 12 May 2008 18:32:04 +0800	[thread overview]
Message-ID: <1210588325-11027-4-git-send-email-cooloney@kernel.org> (raw)
In-Reply-To: <1210588325-11027-1-git-send-email-cooloney@kernel.org>

From: Jie Zhang <jie.zhang@analog.com>

access_process_vm in mm/memory.c uses copy_to_user_page and
copy_from_user_page. So for !MMU we'd better do the same thing.
Other archs with mmu do the cache flush in copy_to_user_page.
It gives me hint that copy_to_user_page is designed to flush
the cache. On other side, no archs do the cache flush ptrace.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
---
 mm/nommu.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/mm/nommu.c b/mm/nommu.c
index c11e5cc..56bb447 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -1458,9 +1458,11 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in
 
 		/* only read or write mappings where it is permitted */
 		if (write && vma->vm_flags & VM_MAYWRITE)
-			len -= copy_to_user((void *) addr, buf, len);
+			copy_to_user_page(vma, NULL, NULL,
+					  (void *) addr, buf, len);
 		else if (!write && vma->vm_flags & VM_MAYREAD)
-			len -= copy_from_user(buf, (void *) addr, len);
+			copy_from_user_page(vma, NULL, NULL,
+					    buf, (void *) addr, len);
 		else
 			len = 0;
 	} else {
-- 
1.5.5


WARNING: multiple messages have this Message-ID (diff)
From: Bryan Wu <cooloney@kernel.org>
From: Jie Zhang <jie.zhang@analog.com>
To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, dwmw2@infradead.org
Cc: Jie Zhang <jie.zhang@analog.com>, Bryan Wu <cooloney@kernel.org>
Subject: [PATCH 3/4] [mm/nommu]: use copy_to_user_page to call flush icache for [#811] toolchain old bug
Date: Mon, 12 May 2008 18:32:04 +0800	[thread overview]
Message-ID: <1210588325-11027-4-git-send-email-cooloney@kernel.org> (raw)
In-Reply-To: <1210588325-11027-1-git-send-email-cooloney@kernel.org>

access_process_vm in mm/memory.c uses copy_to_user_page and
copy_from_user_page. So for !MMU we'd better do the same thing.
Other archs with mmu do the cache flush in copy_to_user_page.
It gives me hint that copy_to_user_page is designed to flush
the cache. On other side, no archs do the cache flush ptrace.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
---
 mm/nommu.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/mm/nommu.c b/mm/nommu.c
index c11e5cc..56bb447 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -1458,9 +1458,11 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in
 
 		/* only read or write mappings where it is permitted */
 		if (write && vma->vm_flags & VM_MAYWRITE)
-			len -= copy_to_user((void *) addr, buf, len);
+			copy_to_user_page(vma, NULL, NULL,
+					  (void *) addr, buf, len);
 		else if (!write && vma->vm_flags & VM_MAYREAD)
-			len -= copy_from_user(buf, (void *) addr, len);
+			copy_from_user_page(vma, NULL, NULL,
+					    buf, (void *) addr, len);
 		else
 			len = 0;
 	} else {
-- 
1.5.5

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2008-05-12 10:33 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-12 10:32 [PATCH 0/4] Memory management patches from Blackfin team Bryan Wu
2008-05-12 10:32 ` Bryan Wu
2008-05-12 10:32 ` [PATCH 1/4] [mm] buddy page allocator: add tunable big order allocation Bryan Wu
2008-05-12 10:32   ` Bryan Wu, Michael Hennerich
2008-05-13  2:09   ` KAMEZAWA Hiroyuki
2008-05-13  2:09     ` KAMEZAWA Hiroyuki
2008-05-13 11:42     ` Hennerich, Michael
2008-05-13 11:42       ` Hennerich, Michael
2008-05-14  4:22       ` Bryan Wu
2008-05-14  4:22         ` Bryan Wu
2008-05-14  5:04         ` KAMEZAWA Hiroyuki
2008-05-14  5:04           ` KAMEZAWA Hiroyuki
2008-05-12 10:32 ` [PATCH 2/4] [NOMMU]: include the problematic mapping in the munmap warning Bryan Wu
2008-05-12 10:32   ` Bryan Wu, Mike Frysinger
2008-05-15  6:33   ` Bryan Wu
2008-05-15  6:33     ` Bryan Wu
2008-05-12 10:32 ` Bryan Wu [this message]
2008-05-12 10:32   ` [PATCH 3/4] [mm/nommu]: use copy_to_user_page to call flush icache for [#811] toolchain old bug Bryan Wu, Jie Zhang
2008-05-15  6:24   ` Bryan Wu
2008-05-15  6:24     ` Bryan Wu
2008-05-12 10:32 ` [PATCH 4/4] [MM/NOMMU]: Export two symbols in nommu.c for mmap test Bryan Wu
2008-05-12 10:32   ` Bryan Wu, Vivi Li
2008-05-12 10:38   ` Mike Frysinger
2008-05-12 10:38     ` Mike Frysinger
2008-05-12 13:00     ` Christoph Hellwig
2008-05-12 13:00       ` Christoph Hellwig
2008-05-12 13:02       ` Mike Frysinger
2008-05-12 13:02         ` Mike Frysinger
2008-05-13  7:09         ` Bryan Wu
2008-05-13  7:09           ` Bryan Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1210588325-11027-4-git-send-email-cooloney@kernel.org \
    --to=cooloney@kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=jie.zhang@analog.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.