From: Emoly Liu Date: Thu, 29 Aug 2019 06:15:15 +0000 (+0800) Subject: LU-12613 ptlrpc: check buffer length in lustre_msg_string() X-Git-Tag: 2.12.3-RC1~49 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=cf87ca84eaf7c8bf1855802a71130ac0ed251cc9;hp=24f181513fb14f111455ec113d69a6ce5b50cf56;p=fs%2Flustre-release.git LU-12613 ptlrpc: check buffer length in lustre_msg_string() Check buffer length in lustre_msg_string() in case of any invalid access. Lustre-change: https://review.whamcloud.com/35932 Lustre-commit: 728c58d60faef288eb7d05d8809fa2b1a55ade89 Change-Id: I286000db16384938a594bd8d104e5f3d0fff585a Reported-by: Alibaba Cloud Signed-off-by: Emoly Liu Reviewed-by: Andreas Dilger Reviewed-by: Hongchao Zhang Reviewed-by: Yunye Ry Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/36209 Tested-by: jenkins Tested-by: Maloo --- diff --git a/lustre/ptlrpc/pack_generic.c b/lustre/ptlrpc/pack_generic.c index 787a608..ec93e42 100644 --- a/lustre/ptlrpc/pack_generic.c +++ b/lustre/ptlrpc/pack_generic.c @@ -772,6 +772,11 @@ char *lustre_msg_string(struct lustre_msg *m, __u32 index, __u32 max_len) "msg %p buffer[%d] len %d\n", m, index, blen); return NULL; } + if (blen > PTLRPC_MAX_BUFLEN) { + CERROR("buffer length of msg %p buffer[%d] is invalid(%d)\n", + m, index, blen); + return NULL; + } if (max_len == 0) { if (slen != blen - 1) {