Unverified Commit dc32bff1 authored by David Howells's avatar David Howells Committed by Christian Brauner
Browse files

iov_iter, net: Fold in csum_and_memcpy()



Fold csum_and_memcpy() in to its callers.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20230925120309.1731676-11-dhowells@redhat.com


cc: Alexander Viro <viro@zeniv.linux.org.uk>
cc: Jens Axboe <axboe@kernel.dk>
cc: Christoph Hellwig <hch@lst.de>
cc: Christian Brauner <christian@brauner.io>
cc: Matthew Wilcox <willy@infradead.org>
cc: Linus Torvalds <torvalds@linux-foundation.org>
cc: David Laight <David.Laight@ACULAB.COM>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-block@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
cc: linux-mm@kvack.org
cc: netdev@vger.kernel.org
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 6d0d4199
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -3679,13 +3679,6 @@ static inline int __must_check skb_put_padto(struct sk_buff *skb, unsigned int l
	return __skb_put_padto(skb, len, true);
}

static inline __wsum csum_and_memcpy(void *to, const void *from, size_t len,
				     __wsum sum, size_t off)
{
	__wsum next = csum_partial_copy_nocheck(from, to, len);
	return csum_block_add(sum, next, off);
}

struct csum_state {
	__wsum csum;
	size_t off;
+2 −1
Original line number Diff line number Diff line
@@ -732,8 +732,9 @@ size_t memcpy_to_iter_csum(void *iter_to, size_t progress,
			   size_t len, void *from, void *priv2)
{
	__wsum *csum = priv2;
	__wsum next = csum_partial_copy_nocheck(from, iter_to, len);

	*csum = csum_and_memcpy(iter_to, from + progress, len, *csum, progress);
	*csum = csum_block_add(*csum, next, progress);
	return 0;
}

+2 −1
Original line number Diff line number Diff line
@@ -6938,8 +6938,9 @@ size_t memcpy_from_iter_csum(void *iter_from, size_t progress,
			     size_t len, void *to, void *priv2)
{
	__wsum *csum = priv2;
	__wsum next = csum_partial_copy_nocheck(iter_from, to + progress, len);

	*csum = csum_and_memcpy(to + progress, iter_from, len, *csum, progress);
	*csum = csum_block_add(*csum, next, progress);
	return 0;
}