Re: [PATCH v14 079/138] mm/filemap: Add readahead_folio()

From: David Howells
Date: Wed Aug 11 2021 - 08:30:52 EST


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;
> }