FAILED: patch "[PATCH] netfs: fix parameter of cleanup()" failed to apply to 5.15-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 3cfef1b612e15a0c2f5b1c9d3f3f31ad72d56fcd Mon Sep 17 00:00:00 2001
From: Jeffle Xu <[email protected]>
Date: Tue, 7 Dec 2021 11:14:49 +0800
Subject: [PATCH] netfs: fix parameter of cleanup()
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.
fs/netfs/read_helper.c +3 -3
@@ -955,7 +955,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 ; }
@@ -1186,7 +1186,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 ;
@@ -1197,7 +1197,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; }
David Howells
maintainerfs/netfs/read_helper.c int netfs_readpage(struct file *file, · line 958
Quoted 2 lines · <[email protected]> wrote:
fs/netfs/read_helper.c +1
-1- ops->cleanup (netfs_priv,folio_file_mapping (folio)); + ops->cleanup (folio_file_mapping (folio), netfs_priv);
Is it page->mapping or page_mapping(page) instead of folio_file_mapping()? If so, you can switch that to the other side instead, e.g.:
- ops->cleanup(netfs_priv, page_mapping(page));
+ ops->cleanup(page_mapping(page), netfs_priv);
David
Greg KH
maintainerQuoted 11 lines · David Howells
fs/netfs/read_helper.c int netfs_readpage(struct file *file, · line 958
Quoted 2 lines · <[email protected]> wrote:
fs/netfs/read_helper.c +1
-1- ops->cleanup (netfs_priv,folio_file_mapping (folio)); + ops->cleanup (folio_file_mapping (folio), netfs_priv);Is it
page->mappingorpage_mapping(page)instead offolio_file_mapping()? If so, you can switch that to the other side instead, e.g.:(quoted diff) +1
-1- ops->cleanup(netfs_priv, page_mapping(page)); + ops->cleanup(page_mapping(page), netfs_priv);
Quoted 2 lines
David
Ok, can you or someone send me a fixed up patch like this so that I can apply it?
thanks,
greg k-h
Quoted 9 lines · Greg KH
Quoted 8 lines · David Howells
fs/netfs/read_helper.c int netfs_readpage(struct file *file, · line 958
Quoted 2 lines · <[email protected]> wrote:
fs/netfs/read_helper.c +1
-1- ops->cleanup (netfs_priv,folio_file_mapping (folio)); + ops->cleanup (folio_file_mapping (folio), netfs_priv);Is it
page->mappingorpage_mapping(page)instead offolio_file_mapping()? If so, you can switch that to the other side instead, e.g.:
Quoted 9 lines
Quoted 5 lines
(quoted diff) +1
-1- ops->cleanup(netfs_priv, page_mapping(page)); + ops->cleanup(page_mapping(page), netfs_priv);David
Ok, can you or someone send me a fixed up patch like this so that I can apply it?
OK I will send a new version later. Thanks David for the suggestion.
Signature · 2 lines
Thanks, Jeffle
PATCH 1/1 netfs: fix parameter of cleanup()
In reply to [email protected]commit 3cfef1b612e15a0c2f5b1c9d3f3f31ad72d56fcd upstream.
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.
--- fs/netfs/read_helper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
fs/netfs/read_helper.c +3 -3
@@ -958,7 +958,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,page_file_mapping (page)); + ops->cleanup (page_file_mapping (page), netfs_priv);unlock_page (page);return -ENOMEM ; }
@@ -1185,7 +1185,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping, goto error; have_page_no_wait:if (netfs_priv) - ops->cleanup (netfs_priv, mapping); + ops->cleanup (mapping, netfs_priv); *_page = page;_leave (" = 0" );return 0 ;
@@ -1196,7 +1196,7 @@ int netfs_write_begin(struct file *file, struct address_space *mapping,unlock_page (page);put_page (page);if (netfs_priv) - ops->cleanup (netfs_priv, mapping); + ops->cleanup (mapping, netfs_priv);_leave (" = %d" , ret);return ret; }
Signature · 1 line
2.27.0
Greg KH
maintainerRe: [PATCH for 5.15.y stable] netfs: fix parameter of cleanup()
Quoted 13 lines · Jeffle Xu
commit
3cfef1b612e15a0c2f5b1c9d3f3f31ad72d56fcdupstream.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.
Fixes 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers")Fixes e1b1240c1ff5 ("netfs: Add write_begin helper")Signed-off-by Jeffle Xu <[email protected]>Signed-off-by David Howells <[email protected]>Reviewed-by Jeff Layton <[email protected]>
Quoted 3 lines
--- fs/netfs/read_helper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Now queued up, thanks,
greg k-h