Whamcloud - gitweb
LU-12140 lnet: adds checking msg len 75/34975/5
authorAlexander Boyko <c17825@cray.com>
Tue, 28 May 2019 10:07:12 +0000 (06:07 -0400)
committerOleg Drokin <green@whamcloud.com>
Sat, 1 Jun 2019 03:59:27 +0000 (03:59 +0000)
The LNET can't handle a msg with len larger than LNET_MTU.
The next error occured for DOM 1MB
 LNetError: 3137:0:(lib-move.c:4143:lnet_parse()) 192.168.8.1@tcp,
 src 192.168.8.1@tcp: bad PUT payload 1051832 (1048576 max expected)

The patch adds fragment size check.

Signed-off-by: Alexander Boyko <c17825@cray.com>
Cray-bug-id: LUS-7174
Change-Id: Id2d21ebd87ab0bf3a9114548900fab99b278ffb0
Reviewed-on: https://review.whamcloud.com/34975
Tested-by: Jenkins
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/lnet/lib-md.c

index 9bf890c..7737744 100644 (file)
@@ -335,6 +335,10 @@ lnet_md_validate(struct lnet_md *umd)
                CERROR("Invalid option: too many fragments %u, %d max\n",
                       umd->length, LNET_MAX_IOV);
                return -EINVAL;
+       } else if (umd->length > LNET_MTU) {
+               CERROR("Invalid length: too big fragment size %u, %d max\n",
+                      umd->length, LNET_MTU);
+               return -EINVAL;
        }
 
        return 0;