From: Tony Luck <tony.l...@intel.com>

[ Upstream commit 7ccddc4613db446dc3cbb69a3763ba60ec651d13 ]

The kbuild test robot reported this warning:

  arch/x86/kernel/cpu/mce/dev-mcelog.c: In function 'dev_mcelog_init_device':
  arch/x86/kernel/cpu/mce/dev-mcelog.c:346:2: warning: 'strncpy' output \
    truncated before terminating nul copying 12 bytes from a string of the \
    same length [-Wstringop-truncation]

This is accurate, but I don't care that the trailing NUL character isn't
copied. The string being copied is just a magic number signature so that
crash dump tools can be sure they are decoding the right blob of memory.

Use memcpy() instead of strncpy().

Fixes: d8ecca4043f2 ("x86/mce/dev-mcelog: Dynamically allocate space for 
machine check records")
Reported-by: kbuild test robot <l...@intel.com>
Signed-off-by: Tony Luck <tony.l...@intel.com>
Signed-off-by: Borislav Petkov <b...@suse.de>
Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Link: https://lkml.kernel.org/r/20200527182808.27737-1-tony.l...@intel.com
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 arch/x86/kernel/cpu/mce/dev-mcelog.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mce/dev-mcelog.c 
b/arch/x86/kernel/cpu/mce/dev-mcelog.c
index d089567a9ce8..bcb379b2fd42 100644
--- a/arch/x86/kernel/cpu/mce/dev-mcelog.c
+++ b/arch/x86/kernel/cpu/mce/dev-mcelog.c
@@ -343,7 +343,7 @@ static __init int dev_mcelog_init_device(void)
        if (!mcelog)
                return -ENOMEM;
 
-       strncpy(mcelog->signature, MCE_LOG_SIGNATURE, 
sizeof(mcelog->signature));
+       memcpy(mcelog->signature, MCE_LOG_SIGNATURE, sizeof(mcelog->signature));
        mcelog->len = mce_log_len;
        mcelog->recordlen = sizeof(struct mce);
 
-- 
2.25.1

Reply via email to