Re: [PATCH 0/3] Generic support for revoking mappings

From: Eric W. Biederman
Date: Mon Sep 27 2010 - 09:53:00 EST


caiqian@xxxxxxxxxx writes:

> diff --git a/mm/mmap.c b/mm/mmap.c
> index 6128dc8..00161a4 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -2009,6 +2009,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
> removed_exe_file_vma(mm);
> fput(new->vm_file);
> }
> + unlink_anon_vmas(new);
> out_free_mpol:
> mpol_put(pol);
> out_free_vma:
>
> It became this after manually merged them,

As a conflict resolution doesn't look wrong, but clearly I should rebase
on top of mmtom and see what is going on.

> @@ -2002,20 +2006,15 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
> return 0;
>
> /* Clean everything up if vma_adjust failed. */
> - if (new->vm_ops && new->vm_ops->close)
> - new->vm_ops->close(new);
> - if (new->vm_file) {
> - if (vma->vm_flags & VM_EXECUTABLE)
> - removed_exe_file_vma(mm);
> - fput(new->vm_file);
> - }
> unlink_anon_vmas(new);
> + remove_vma(new);
> + out_err:
> + return err;
> out_free_mpol:
> mpol_put(pol);
> out_free_vma:
> kmem_cache_free(vm_area_cachep, new);
> - out_err:
> - return err;
> + goto out_err;
> }

Is it possible that something did not recompile cleanly? Where I
touched the struct address_space if everything did not rebuild it is
possible for two pieces of incrementally compiled code to think they are
accessing the same fields and are not.

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/