Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> wrote: > +/** > + * readahead_folio - Get the next folio to read. > + * @ractl: The current readahead request. > + * > + * Context: The folio is locked. The caller should unlock the folio once > + * all I/O to that folio has completed. > + * Return: A pointer to the next folio, or %NULL if we are done. > + */ > +static inline struct folio *readahead_folio(struct readahead_control *ractl) > +{ > + struct folio *folio = __readahead_folio(ractl); > > - return page; > + folio_put(folio); This will oops if __readahead_folio() returns NULL. > + return folio; > }