Yes.
> if yes, then
> after execution of this function, we would have page->count == 1, i.e.
> mapped by some process, with good page->index and what we have is, the
> associated swap entry is already freed.
>
> Am i wrong somewhere ??
The only place you are wrong is in using the word "good" of page->index
at the end, and indeed I think your point is that it's not good. It is
not good, it is stale, but that's okay because page->mapping has been
set to NULL, and page->index has no meaning without page->mapping.
You'll notice that __free_pages_ok() contains many BUG() hurdles
(including check on page->mapping and redundant check on PageSwapCache)
but doesn't mind if page->index is non-zero.
But thanks for making me look at this function, there
is a bug there and I'll post a patch for it right now...
Hugh
-
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/