linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] afs: Fix data corruptor in page laundering
@ 2021-09-29 15:36 David Howells
  2021-09-29 15:36 ` [PATCH v2] afs: Fix afs_launder_page() to set correct start file position David Howells
  2021-09-29 15:58 ` [PATCH v2] afs: Fix data corruptor in page laundering David Howells
  0 siblings, 2 replies; 3+ messages in thread
From: David Howells @ 2021-09-29 15:36 UTC (permalink / raw)
  To: torvalds
  Cc: linux-afs, Marc Dionne, Jeffrey Altman, dhowells, linux-fsdevel,
	linux-kernel


Hi Linus,

Can you apply this patch, please?  It fixes a potential data corruptor in
afs_launder_page() whereby the file position isn't calculated correctly for
the StoreData RPC.

Thanks,
David

Link: https://lore.kernel.org/r/162880783179.3421678.7795105718190440134.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162937512409.1449272.18441473411207824084.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162981148752.1901565.3663780601682206026.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/163005741670.2472992.2073548908229887941.stgit@warthog.procyon.org.uk/ # v2
Link: https://lore.kernel.org/r/163221839087.3143591.14278359695763025231.stgit@warthog.procyon.org.uk/ # v2
---
David Howells (1):
      afs: Fix afs_launder_page() to set correct start file position





^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] afs: Fix afs_launder_page() to set correct start file position
  2021-09-29 15:36 [PATCH v2] afs: Fix data corruptor in page laundering David Howells
@ 2021-09-29 15:36 ` David Howells
  2021-09-29 15:58 ` [PATCH v2] afs: Fix data corruptor in page laundering David Howells
  1 sibling, 0 replies; 3+ messages in thread
From: David Howells @ 2021-09-29 15:36 UTC (permalink / raw)
  To: torvalds
  Cc: Jeffrey Altman, Marc Dionne, linux-afs, dhowells, linux-fsdevel,
	linux-kernel

Fix afs_launder_page() to set the starting position of the StoreData RPC at
the offset into the page at which the modified data starts instead of at
the beginning of the page (the iov_iter is correctly offset).

The offset got lost during the conversion to passing an iov_iter into
afs_store_data().

Changes:
ver #2:
 - Use page_offset() rather than manually calculating it[1].

Fixes: bd80d8a80e12 ("afs: Use ITER_XARRAY for writing")
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Link: https://lore.kernel.org/r/YST/0e92OdSH0zjg@casper.infradead.org/ [1]
Link: https://lore.kernel.org/r/162880783179.3421678.7795105718190440134.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162937512409.1449272.18441473411207824084.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162981148752.1901565.3663780601682206026.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/163005741670.2472992.2073548908229887941.stgit@warthog.procyon.org.uk/ # v2
Link: https://lore.kernel.org/r/163221839087.3143591.14278359695763025231.stgit@warthog.procyon.org.uk/ # v2
---

 fs/afs/write.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/afs/write.c b/fs/afs/write.c
index 2dfe3b3a53d6..f24370f5c774 100644
--- a/fs/afs/write.c
+++ b/fs/afs/write.c
@@ -974,8 +974,7 @@ int afs_launder_page(struct page *page)
 		iov_iter_bvec(&iter, WRITE, bv, 1, bv[0].bv_len);
 
 		trace_afs_page_dirty(vnode, tracepoint_string("launder"), page);
-		ret = afs_store_data(vnode, &iter, (loff_t)page->index * PAGE_SIZE,
-				     true);
+		ret = afs_store_data(vnode, &iter, page_offset(page) + f, true);
 	}
 
 	trace_afs_page_dirty(vnode, tracepoint_string("laundered"), page);



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] afs: Fix data corruptor in page laundering
  2021-09-29 15:36 [PATCH v2] afs: Fix data corruptor in page laundering David Howells
  2021-09-29 15:36 ` [PATCH v2] afs: Fix afs_launder_page() to set correct start file position David Howells
@ 2021-09-29 15:58 ` David Howells
  1 sibling, 0 replies; 3+ messages in thread
From: David Howells @ 2021-09-29 15:58 UTC (permalink / raw)
  To: torvalds
  Cc: dhowells, linux-afs, Marc Dionne, Jeffrey Altman, linux-fsdevel,
	linux-kernel

Hmmm... for some reason stgit didn't use patch numbering.

David


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-29 15:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 15:36 [PATCH v2] afs: Fix data corruptor in page laundering David Howells
2021-09-29 15:36 ` [PATCH v2] afs: Fix afs_launder_page() to set correct start file position David Howells
2021-09-29 15:58 ` [PATCH v2] afs: Fix data corruptor in page laundering David Howells

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).