lkml.org 
[lkml]   [2019]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.1 127/141] 9p: pass the correct prototype to read_cache_page
    Date
    From: Christoph Hellwig <hch@lst.de>

    [ Upstream commit f053cbd4366051d7eb6ba1b8d529d20f719c2963 ]

    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.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Sami Tolvanen <samitolvanen@google.com>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/9p/vfs_addr.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c
    index 0bcbcc20f769..02e0fc51401e 100644
    --- a/fs/9p/vfs_addr.c
    +++ b/fs/9p/vfs_addr.c
    @@ -50,8 +50,9 @@
    * @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 bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE};
    struct iov_iter to;
    @@ -122,7 +123,8 @@ static int v9fs_vfs_readpages(struct file *filp, struct address_space *mapping,
    if (ret == 0)
    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);
    return ret;
    }
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-07-19 06:07    [W:3.231 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site