diff options
author | Christoph Hellwig <hch@lst.de> | 2019-07-11 20:55:17 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-07-12 11:05:43 -0700 |
commit | d322a8e5e3e9742fa6b76a207e5df57e03f318f9 (patch) | |
tree | 48c233bc0f8d1103ab373b0936fd72f141afb4d7 /mm/filemap.c | |
parent | 3972f6bb1c6ae1d32dcf2e4ff635d24b77f26dcb (diff) | |
download | lwn-d322a8e5e3e9742fa6b76a207e5df57e03f318f9.tar.gz lwn-d322a8e5e3e9742fa6b76a207e5df57e03f318f9.zip |
mm/filemap.c: fix an overly long line in read_cache_page
Patch series "fix filler_t callback type mismatches", v2.
Casting mapping->a_ops->readpage to filler_t causes an indirect call
type mismatch with Control-Flow Integrity checking. This change fixes
the mismatch in read_cache_page_gfp and read_mapping_page by adding
using a NULL filler argument as an indication to call ->readpage
directly, and by passing the right parameter callbacks in nfs and jffs2.
This patch (of 4):
Code cleanup.
Link: http://lkml.kernel.org/r/20190520055731.24538-2-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/filemap.c')
-rw-r--r-- | mm/filemap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index f1aa20ab8434..d6f7596f148f 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2915,7 +2915,8 @@ struct page *read_cache_page(struct address_space *mapping, int (*filler)(void *, struct page *), void *data) { - return do_read_cache_page(mapping, index, filler, data, mapping_gfp_mask(mapping)); + return do_read_cache_page(mapping, index, filler, data, + mapping_gfp_mask(mapping)); } EXPORT_SYMBOL(read_cache_page); |