lkml.org 
[lkml]   [2005]   [May]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [bugfix] try_to_unmap_cluster() passes out-of-bounds pte to pte_unmap()
William Lee Irwin III <wli@holomorphy.com> wrote:
>
> --- ./mm/rmap.c.orig 2005-05-20 01:29:14.066467151 -0700
> +++ ./mm/rmap.c 2005-05-20 01:30:06.620649901 -0700
> @@ -694,7 +694,7 @@
> (*mapcount)--;
> }
>
> - pte_unmap(pte);
> + pte_unmap(pte-1);
> out_unlock:
> spin_unlock(&mm->page_table_lock);
> }

I must say that I continue to find this approach a bit queazifying.

After some reading of the code I'd agree that yes, it's not possible for us
to get here with `pte' pointing at the first slot of the pte page, but it's
not 100% obvious and it's possible that someone will come along later and
will change things in try_to_unmap_cluster() which cause this unmap to
suddenly do the wrong thing in rare circumstances.

IOW: I'd sleep better at night if we took a temporary and actually unmapped
the thing which we we got back from pte_offset_map().. Am I being silly?

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

\
 
 \ /
  Last update: 2005-05-24 02:23    [W:0.180 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site