On Fri, Sep 25, 2020 at 1:57 AM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Thu, Sep 24, 2020 at 10:04:40PM +0200, Sedat Dilek wrote: > > On Thu, Sep 24, 2020 at 10:02 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > > > On Thu, Sep 24, 2020 at 09:54:36PM +0200, Sedat Dilek wrote: > > > > You are named in "mm: fix misplaced unlock_page in do_wp_page()". > > > > Is this here a different issue? > > > > > > Yes, completely different. That bug is one Linus introduced in this > > > cycle; the bug that this patch fixes was introduced a couple of years > > > ago, and we only noticed now because I added an assertion to -next. > > > Maybe I should add the assertion for 5.9 too. > > > > Can you point me to this "assertion"? > > Thanks. > > Here's the version against 5.8 > > diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c > index 810f7dae11d9..b421e4efc4bd 100644 > --- a/fs/iomap/buffered-io.c > +++ b/fs/iomap/buffered-io.c > @@ -70,11 +70,15 @@ static void > iomap_page_release(struct page *page) > { > struct iomap_page *iop = detach_page_private(page); > + unsigned int nr_blocks = PAGE_SIZE / i_blocksize(page->mapping->host); > > if (!iop) > return; > WARN_ON_ONCE(atomic_read(&iop->read_count)); > WARN_ON_ONCE(atomic_read(&iop->write_count)); > + WARN_ON_ONCE(bitmap_full(iop->uptodate, nr_blocks) != > + PageUptodate(page)); > + Are you sure this is "bitmap_full()" or should it be "bitmap_f*i*ll()"? Both are available in include/linux/bitmap.h. - Sedat - > kfree(iop); > } >