zkey: Silence false positive -Wstringop-overflow= warning

Building with ASAN=1 produces the following warning:

    utils.c: In function 'sysfs_get_mkvps':
    utils.c:416:9: warning: writing 8 bytes into a region of size 0
                                                [-Wstringop-overflow=]
      416 |         memcpy(mk_reg->mkvp, &mkvp, sizeof(mkvp));
          |         ^
    In file included from utils.c:32:
    utils.h:51:17: note: at offset 4 into destination object 'mk_state'
                                                 of size 4
       51 |         int     mk_state;

This is a false positive, field mk_reg->mkvp is defined as an array of
u8 with a length of 16 elements, thus it is 16 bytes in size, and thus
more than long enough to copy 8 bytes into it.

Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com>
Reviewed-by: Finn Callies <fcallies@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Ingo Franzki
2026-07-06 14:39:49 +02:00
committed by Jan Höppner
parent 72f1a2e0a9
commit 7535682b1b

View File

@@ -413,7 +413,10 @@ static int parse_cca_mk_info(char *line, struct mk_info *mk_info)
if (sscanf(tok, "%llx", &mkvp) != 1)
return -EIO;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-overflow"
memcpy(mk_reg->mkvp, &mkvp, sizeof(mkvp));
#pragma GCC diagnostic pop
return 0;
}