Commit c54e959b authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: _shift_data_left/right_pages should check the shift length



Exit early if the shift is zero.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 1f70ea70
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -225,6 +225,9 @@ _shift_data_left_pages(struct page **pages, size_t pgto_base,

	BUG_ON(pgfrom_base <= pgto_base);

	if (!len)
		return;

	pgto = pages + (pgto_base >> PAGE_SHIFT);
	pgfrom = pages + (pgfrom_base >> PAGE_SHIFT);

@@ -307,6 +310,9 @@ _shift_data_right_pages(struct page **pages, size_t pgto_base,

	BUG_ON(pgto_base <= pgfrom_base);

	if (!len)
		return;

	pgto_base += len;
	pgfrom_base += len;

@@ -405,6 +411,9 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len)
	char *vto;
	size_t copy;

	if (!len)
		return;

	pgto = pages + (pgbase >> PAGE_SHIFT);
	pgbase &= ~PAGE_MASK;

@@ -449,6 +458,9 @@ _copy_from_pages(char *p, struct page **pages, size_t pgbase, size_t len)
	char *vfrom;
	size_t copy;

	if (!len)
		return;

	pgfrom = pages + (pgbase >> PAGE_SHIFT);
	pgbase &= ~PAGE_MASK;