Commit f053cbd4 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Linus Torvalds

9p: pass the correct prototype to read_cache_page

Fix the callback 9p passes to read_cache_page to actually have the
proper type expected.  Casting around function pointers can easily
hide typing bugs, and defeats control flow protection.

Link: http://lkml.kernel.org/r/20190520055731.24538-5-hch@lst.deSigned-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 265de8ce
...@@ -35,8 +35,9 @@ ...@@ -35,8 +35,9 @@
* @page: structure to page * @page: structure to page
* *
*/ */
static int v9fs_fid_readpage(struct p9_fid *fid, struct page *page) static int v9fs_fid_readpage(void *data, struct page *page)
{ {
struct p9_fid *fid = data;
struct inode *inode = page->mapping->host; struct inode *inode = page->mapping->host;
struct bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE}; struct bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE};
struct iov_iter to; struct iov_iter to;
...@@ -107,7 +108,8 @@ static int v9fs_vfs_readpages(struct file *filp, struct address_space *mapping, ...@@ -107,7 +108,8 @@ static int v9fs_vfs_readpages(struct file *filp, struct address_space *mapping,
if (ret == 0) if (ret == 0)
return ret; return ret;
ret = read_cache_pages(mapping, pages, (void *)v9fs_vfs_readpage, filp); ret = read_cache_pages(mapping, pages, v9fs_fid_readpage,
filp->private_data);
p9_debug(P9_DEBUG_VFS, " = %d\n", ret); p9_debug(P9_DEBUG_VFS, " = %d\n", ret);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment