diff -drupN a/mm/filemap.c b/mm/filemap.c --- a/mm/filemap.c 2018-08-06 17:23:04.000000000 +0300 +++ b/mm/filemap.c 2022-06-12 05:28:14.000000000 +0300 @@ -2387,7 +2387,7 @@ static struct page *wait_on_page_read(st static struct page *do_read_cache_page(struct address_space *mapping, pgoff_t index, - int (*filler)(void *, struct page *), + int (*filler)(struct file *, struct page *), void *data, gfp_t gfp) { @@ -2494,7 +2494,7 @@ out: */ struct page *read_cache_page(struct address_space *mapping, pgoff_t index, - int (*filler)(void *, struct page *), + int (*filler)(struct file *, struct page *), void *data) { return do_read_cache_page(mapping, index, filler, data, mapping_gfp_mask(mapping)); @@ -2516,7 +2516,7 @@ struct page *read_cache_page_gfp(struct pgoff_t index, gfp_t gfp) { - filler_t *filler = (filler_t *)mapping->a_ops->readpage; + filler_t *filler = mapping->a_ops->readpage; return do_read_cache_page(mapping, index, filler, NULL, gfp); }