Re: page_launder() bug

Marcelo Tosatti (marcelo@conectiva.com.br)
Mon, 7 May 2001 22:47:40 -0300 (BRT)


On Mon, 7 May 2001, David S. Miller wrote:

>
> Marcelo Tosatti writes:
> > I just thought about this case:
> >
> > We find a dead swap cache page, so dead_swap_page goes to 1.
> >
> > We call swap_writepage(), but in the meantime the swapin readahead code
> > got a reference on the swap map for the page.
> >
> > We write the page out because "(swap_count(page) > 1)", and we may
> > not have __GFP_IO set in the gfp_mask. Boom.
>
> Hmmm, can't this happen without my patch?

No. We will never call writepage() without __GFP_IO without your patch.

> Nothing stops people from getting references to the page
> between the "Page is or was in use?" test and the line
> which does "TryLockPage(page)".

I don't see any problem with people getting a reference to the page there.

-
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/