FROMLIST: jffs2: pass the correct prototype to read_cache_page
Fix the callback jffs2 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. Signed-off-by: Christoph Hellwig <hch@lst.de> Change-Id: Ie5bfeff009a555c1894784458d2fe79a87f1be03 Link: https://lkml.org/lkml/2019/5/1/295 Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
This commit is contained in:
parent
c87c5f55c6
commit
1721095e71
@ -109,9 +109,9 @@ static int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int jffs2_do_readpage_unlock(struct inode *inode, struct page *pg)
|
||||
int jffs2_do_readpage_unlock(void *data, struct page *pg)
|
||||
{
|
||||
int ret = jffs2_do_readpage_nolock(inode, pg);
|
||||
int ret = jffs2_do_readpage_nolock(data, pg);
|
||||
unlock_page(pg);
|
||||
return ret;
|
||||
}
|
||||
|
@ -686,7 +686,7 @@ unsigned char *jffs2_gc_fetch_page(struct jffs2_sb_info *c,
|
||||
struct page *pg;
|
||||
|
||||
pg = read_cache_page(inode->i_mapping, offset >> PAGE_SHIFT,
|
||||
(void *)jffs2_do_readpage_unlock, inode);
|
||||
jffs2_do_readpage_unlock, inode);
|
||||
if (IS_ERR(pg))
|
||||
return (void *)pg;
|
||||
|
||||
|
@ -155,7 +155,7 @@ extern const struct file_operations jffs2_file_operations;
|
||||
extern const struct inode_operations jffs2_file_inode_operations;
|
||||
extern const struct address_space_operations jffs2_file_address_operations;
|
||||
int jffs2_fsync(struct file *, loff_t, loff_t, int);
|
||||
int jffs2_do_readpage_unlock (struct inode *inode, struct page *pg);
|
||||
int jffs2_do_readpage_unlock(void *data, struct page *pg);
|
||||
|
||||
/* ioctl.c */
|
||||
long jffs2_ioctl(struct file *, unsigned int, unsigned long);
|
||||
|
Loading…
Reference in New Issue
Block a user