When compiled with W=1, we get: arch/x86/kernel/callthunks.c: In function ‘callthunks_debugfs_init’: arch/x86/kernel/callthunks.c:394:35: error: ‘%lu’ directive writing between 1 and 10 bytes into a region of size 7 [-Werror=format-overflow=] 394 | sprintf(name, "cpu%lu", cpu); | ^~~ arch/x86/kernel/callthunks.c:394:31: note: directive argument in the range [0, 4294967294] 394 | sprintf(name, "cpu%lu", cpu); | ^~~~~~~~ arch/x86/kernel/callthunks.c:394:17: note: ‘sprintf’ output between 5 and 14 bytes into a destination of size 10 394 | sprintf(name, "cpu%lu", cpu); | So, give some more space to 'name' to silence the warning. (and fix the issue should a lucky one have a config with so many CPU!) Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> --- arch/x86/kernel/callthunks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/callthunks.c b/arch/x86/kernel/callthunks.c index cf7e5be1b844..26182a7d12b3 100644 --- a/arch/x86/kernel/callthunks.c +++ b/arch/x86/kernel/callthunks.c @@ -388,7 +388,7 @@ static int __init callthunks_debugfs_init(void) dir = debugfs_create_dir("callthunks", NULL); for_each_possible_cpu(cpu) { void *arg = (void *)cpu; - char name [10]; + char name[14]; sprintf(name, "cpu%lu", cpu); debugfs_create_file(name, 0644, dir, arg, &dfs_ops); -- 2.34.1