[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1174904637.32691.86.camel@roc-desktop>
Date: Mon, 26 Mar 2007 18:23:57 +0800
From: "Wu, Bryan" <bryan.wu@...log.com>
To: Andrew Morton <akpm@...ux-foundation.org>,
Pekka Enberg <penberg@...helsinki.fi>,
linux-kernel@...r.kernel.org
Subject: [PATCH -mm] Revoke core code: fix nommu arch compiling error bug
Hi folks,
As struct mm_struct vm_mm is hidden in struct vm_area_struct in NOMMU
arch, this is a fixing method when compiling failure on blackfin arch.
Signed-off-by: Bryan Wu <bryan.wu@...log.com>
---
fs/revoke.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
Index: linux-2.6/fs/revoke.c
===================================================================
--- linux-2.6.orig/fs/revoke.c
+++ linux-2.6/fs/revoke.c
@@ -207,13 +207,21 @@
/*
* LOCKING: spin_lock(&mapping->i_mmap_lock)
*/
-static int revoke_mm(struct mm_struct *mm, struct address_space *mapping,
+static int revoke_mm(struct vm_area_struct *vma, struct address_space *mapping,
struct file *to_exclude)
{
- struct vm_area_struct *vma;
+#ifdef CONFIG_MMU
+ struct mm_struct *mm = vma->vm_mm;
+#else
+ struct mm_struct *mm = 0;
+#endif
+ struct vm_area_struct *_vma;
struct zap_details details;
int err = 0;
+ if (!mm)
+ return -ENOENT;
+
details.i_mmap_lock = &mapping->i_mmap_lock;
/*
@@ -224,11 +232,11 @@
err = -EAGAIN;
goto out;
}
- for (vma = mm->mmap; vma != NULL; vma = vma->vm_next) {
- if (!need_revoke(vma, to_exclude))
+ for (_vma = mm->mmap; _vma != NULL; _vma = _vma->vm_next) {
+ if (!need_revoke(_vma, to_exclude))
continue;
- err = revoke_vma(vma, &details);
+ err = revoke_vma(_vma, &details);
if (err)
break;
}
@@ -254,7 +262,7 @@
if (likely(!need_revoke(vma, to_exclude)))
continue;
- err = revoke_mm(vma->vm_mm, mapping, to_exclude);
+ err = revoke_mm(vma, mapping, to_exclude);
if (err == -EAGAIN) {
try_again = 1;
continue;
@@ -284,7 +292,7 @@
if (likely(!need_revoke(vma, to_exclude)))
continue;
- err = revoke_mm(vma->vm_mm, mapping, to_exclude);
+ err = revoke_mm(vma, mapping, to_exclude);
if (err == -EAGAIN) {
try_again = 1;
continue;
_
Thanks,
-Bryan Wu
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists