Re: [PATCH -mm] Revoke core code: fix nommu arch compiling error bug

Andrew Morton
2007-03-26T10:42:12Z

On Mon, 26 Mar 2007 18:23:57 +0800 "Wu, Bryan" <bryan.wu@analog.com> wrote:

> 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@analog.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

<looks>

Offending patch is
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21-rc4/2.6.21-rc4-mm1/broken-out/nommu-hide-vm_mm-in-nommu-mode.patch,
which seems rather dumb. Or at least, its changelog does a good job of
making it look dumb.

David, what on earth does "this isn't used there" mean? Surely it is
logical to have the mm backpointer in the vma in nommu mode? What's going
on here?