> On Mar 23, 2019, at 9:04 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > static inline struct page *find_subpage(struct page *page, pgoff_t offset) > { > + unsigned long index = page_index(page); > + > VM_BUG_ON_PAGE(PageTail(page), page); > - VM_BUG_ON_PAGE(page->index > offset, page); > - VM_BUG_ON_PAGE(page->index + (1 << compound_order(page)) <= offset, > - page); > - return page - page->index + offset; > + VM_BUG_ON_PAGE(index > offset, page); > + VM_BUG_ON_PAGE(index + (1 << compound_order(page)) <= offset, page); > + return page - index + offset; > } > > >> [ 56.915812] page dumped because: VM_BUG_ON_PAGE(index + compound_order(page) >> <= offset) > > Yeah, you were missing the '1 <<' part. > Is a V5 patch coming incorporating these?