Message ID | 20211207031449.100510-1-jefflexu@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | netfs: fix parameter of cleanup() | expand |
On Tue, 2021-12-07 at 11:14 +0800, Jeffle Xu wrote: > The order of these two parameters is just reversed. gcc didn't warn on > that, probably because 'void *' can be converted from or to other > pointer types without warning. > > Cc: stable@vger.kernel.org > Fixes: 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers") > Fixes: e1b1240c1ff5 ("netfs: Add write_begin helper") > Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com> > --- > fs/netfs/read_helper.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/netfs/read_helper.c b/fs/netfs/read_helper.c > index 7046f9bdd8dc..4adcb0336ecf 100644 > --- a/fs/netfs/read_helper.c > +++ b/fs/netfs/read_helper.c > @@ -960,7 +960,7 @@ int netfs_readpage(struct file *file, > rreq = netfs_alloc_read_request(ops, netfs_priv, file); > if (!rreq) { > if (netfs_priv) > - ops->cleanup(netfs_priv, folio_file_mapping(folio)); > + ops->cleanup(folio_file_mapping(folio), netfs_priv); > folio_unlock(folio); > return -ENOMEM; > } > @@ -1191,7 +1191,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping, > goto error; > have_folio_no_wait: > if (netfs_priv) > - ops->cleanup(netfs_priv, mapping); > + ops->cleanup(mapping, netfs_priv); > *_folio = folio; > _leave(" = 0"); > return 0; > @@ -1202,7 +1202,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping, > folio_unlock(folio); > folio_put(folio); > if (netfs_priv) > - ops->cleanup(netfs_priv, mapping); > + ops->cleanup(mapping, netfs_priv); > _leave(" = %d", ret); > return ret; > } Ouch, good catch. Reviewed-by: Jeff Layton <jlayton@redhat.com>
diff --git a/fs/netfs/read_helper.c b/fs/netfs/read_helper.c index 7046f9bdd8dc..4adcb0336ecf 100644 --- a/fs/netfs/read_helper.c +++ b/fs/netfs/read_helper.c @@ -960,7 +960,7 @@ int netfs_readpage(struct file *file, rreq = netfs_alloc_read_request(ops, netfs_priv, file); if (!rreq) { if (netfs_priv) - ops->cleanup(netfs_priv, folio_file_mapping(folio)); + ops->cleanup(folio_file_mapping(folio), netfs_priv); folio_unlock(folio); return -ENOMEM; } @@ -1191,7 +1191,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping, goto error; have_folio_no_wait: if (netfs_priv) - ops->cleanup(netfs_priv, mapping); + ops->cleanup(mapping, netfs_priv); *_folio = folio; _leave(" = 0"); return 0; @@ -1202,7 +1202,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping, folio_unlock(folio); folio_put(folio); if (netfs_priv) - ops->cleanup(netfs_priv, mapping); + ops->cleanup(mapping, netfs_priv); _leave(" = %d", ret); return ret; }
The order of these two parameters is just reversed. gcc didn't warn on that, probably because 'void *' can be converted from or to other pointer types without warning. Cc: stable@vger.kernel.org Fixes: 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers") Fixes: e1b1240c1ff5 ("netfs: Add write_begin helper") Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com> --- fs/netfs/read_helper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)