From: Trond Myklebust Date: Mon, 7 Dec 2020 18:30:46 +0000 (-0500) Subject: SUNRPC: _shift_data_left/right_pages should check the shift length X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c54e959b36cbdb0cb2f2805e3e945dd83476a5c7;p=linux.git SUNRPC: _shift_data_left/right_pages should check the shift length Exit early if the shift is zero. Signed-off-by: Trond Myklebust --- diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index c852d199c789e..5833329c132c8 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c @@ -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;