On Sat, Dec 20, 2014 at 06:13:37AM +0000, Al Viro wrote:
> On Fri, Dec 19, 2014 at 07:18:28PM -0800, Omar Sandoval wrote:
> 
> > +           ret = swap_file->f_op->read_iter(&kiocb, &to);
> > +           if (ret == PAGE_SIZE) {
> > +                   SetPageUptodate(page);
> >                     count_vm_event(PSWPIN);
> > +                   ret = 0;
> > +           } else {
> > +                   ClearPageUptodate(page);
> > +                   SetPageError(page);
> > +           }
> > +           unlock_page(page);
> 
> Umm...  What's to guarantee that ->read_iter() won't try lock_page() on what
> turns out to be equal to page?

Ergh. I don't see why ->read_iter would be screwing around in the swap
cache or with the pages in the iterator, anything in particular you can
see happening?

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

Reply via email to