[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.00.1001311955510.6227@sister.anvils>
Date: Sun, 31 Jan 2010 20:03:16 +0000 (GMT)
From: Hugh Dickins <hugh.dickins@...cali.co.uk>
To: Tony Perkins <da.perk@...il.com>
cc: linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
"Rafael J. Wysocki" <rjw@...k.pl>, linux-mm@...ck.org
Subject: Re: Bug in find_vma_prev - mmap.c
On Sun, 31 Jan 2010, Tony Perkins wrote:
>
> Say for instance, that addr is not in the list (but is greater than
> the last element).
Before, you appeared to be talking about a discrepancy with the first
vma; now you're talking about a discrepancy with the last vma?
Or a discrepancy when the first vma is the last vma?
> find_vma_prev will return the last node in the list, whereas find_vma
> will return NULL.
I'd expect find_vma_prev to return prev->vm_next, which would be NULL.
>
> It seems that it is just inconsistent, in what it should return
> regarding the two.
> For instance, find_vma_prev will never return NULL, if there's at
> least one node within the tree, whereas find_vma would.
> find_extend_vma uses find_vma_prev and checks to see if it returns
> NULL and is less than the return address (which would always be the
> case).
Are we disagreeing about our readings of the code, or have you seen a
problem in practice?
I admit I've not tried running this, injecting addresses into find_vma_prev
and printk'ing the result; but I'm missing what leads you to say that
find_vma_prev will never return NULL.
Hugh
--
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