s390/crypto: fix gcc 8 stringop-truncation warning
authorVasily Gorbik <gor@linux.ibm.com>
Thu, 28 Jun 2018 11:33:35 +0000 (13:33 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 16 Jul 2018 13:45:36 +0000 (15:45 +0200)
Replace strncpy which is used to deliberately avoid string NUL-termination
with memcpy. This allows to get rid of gcc 8 stringop-truncation warning:

    inlined from 'query_crypto_facility.constprop' at
    drivers/s390/crypto/pkey_api.c:702:2:
./include/linux/string.h:246:9: warning: '__builtin_strncpy' output
truncated before terminating nul copying 8 bytes from a string of the
same length [-Wstringop-truncation]

Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/crypto/pkey_api.c

index 3929c8b..e663432 100644 (file)
@@ -699,7 +699,7 @@ static int query_crypto_facility(u16 cardnr, u16 domain,
        /* fill request cprb param block with FQ request */
        preqparm = (struct fqreqparm *) preqcblk->req_parmb;
        memcpy(preqparm->subfunc_code, "FQ", 2);
-       strncpy(preqparm->rule_array, keyword, sizeof(preqparm->rule_array));
+       memcpy(preqparm->rule_array, keyword, sizeof(preqparm->rule_array));
        preqparm->rule_array_len =
                sizeof(preqparm->rule_array_len) + sizeof(preqparm->rule_array);
        preqparm->lv1.len = sizeof(preqparm->lv1);