Whamcloud - gitweb
LU-16509 lnet: memcpy false positive in brw_test
authorPatrick Farrell <pfarrell@whamcloud.com>
Mon, 6 Mar 2023 15:35:11 +0000 (10:35 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Tue, 14 Mar 2023 17:54:29 +0000 (17:54 +0000)
The flexible array at the end of srcp_bulk is triggering a
false positive in fortified memcpy().  Quash it with
unsafe_memcpy().

Lustre-change: https://review.whamcloud.com/50185/
Lustre-commit: 299bd671a9f7c0955b2be59e36bb8239797c1b82 (tbd)

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I13386c0a8e73b04af8d398aa49361bfdf6a05ad8
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/50218
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lnet/selftest/brw_test.c

index 13f7568..c43cc8e 100644 (file)
@@ -312,7 +312,9 @@ brw_client_prep_rpc(struct sfw_test_unit *tsu, struct lnet_process_id dest,
        if (rc != 0)
                return rc;
 
-       memcpy(&rpc->crpc_bulk, bulk, offsetof(struct srpc_bulk, bk_iovs[npg]));
+       unsafe_memcpy(&rpc->crpc_bulk, bulk,
+                     offsetof(struct srpc_bulk, bk_iovs[npg]),
+                     FLEXIBLE_OBJECT);
        if (opc == LST_BRW_WRITE)
                brw_fill_bulk(&rpc->crpc_bulk, flags, BRW_MAGIC);
        else