Skip to contentSkip to conversation

FAILED: patch "[PATCH] netfs: fix parameter of cleanup()" failed to apply to 5.15-stable tree

PATCH In review [email protected] 3 participants 6 messages Dec 10, 2021 – Dec 27, 2021

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The 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.

Fixes 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers")
Fixes e1b1240c1ff5 ("netfs: Add write_begin helper")
fs/netfs/read_helper.c +3 -3
index 7c6e199618af..75c76cbb27cc 100644
@@ -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;
 }
maintainer
#1 lore raw

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->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

author maintainer
#2 lore raw
Quoted 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->mapping or page_mapping(page) instead of folio_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

#3 lore raw
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->mapping or page_mapping(page) instead of folio_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
#4 lore raw

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.

Fixes 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers")
Fixes e1b1240c1ff5 ("netfs: Add write_begin helper")
---
 fs/netfs/read_helper.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
fs/netfs/read_helper.c +3 -3
index 4b54529f8176..242f8bcb34a4 100644
@@ -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
author maintainer
#5 lore raw

Re: [PATCH for 5.15.y stable] netfs: fix parameter of cleanup()

Quoted 13 lines · Jeffle Xu

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.

Fixes 3d3c95046742 ("netfs: Provide readahead and readpage netfs helpers")
Fixes e1b1240c1ff5 ("netfs: Add write_begin helper")
Quoted 3 lines
---
 fs/netfs/read_helper.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Now queued up, thanks,

greg k-h